首页 > 编程语言 >java -贪心

java -贪心

时间:2022-12-20 15:33:36浏览次数:40  
标签:java String kk System int num id 贪心

 给定一个字符串,一个K 

可以交换相邻字符,最多K次。问可以得到的最大值

如 

String s = "01326"; int k = 7;     01326-->60132-->63012-->63102
import java.util.*;

public class Main {

    public static void main(String[] args) {
        String s = "01326";
        int k = 7;
        int l = s.length();
        int id = 0;
        while (id < l && k > 0) {
            int kk = Math.min(k, l - id);
            int num = s.charAt(id) - '0';
            System.out.println("kk " + kk + " num: " + num);
            int tmpk = kk;
            for (int i = id + 1; i < id + kk; i++) {
                System.out.println("i " + i);
                if (num < (s.charAt(i) - '0')) {
                    num = s.charAt(i) - '0';
                    tmpk = i - id;
                }
            }
            kk = tmpk;
            String s1 = s.substring(0, id);
            String s2 = s.substring(id, id + kk);
            String s3 = s.substring(id + kk + 1, l);
            s = s1 + s.charAt(id + kk) + s2 + s3;
            System.out.println("s " + s);
            k -= kk;
            id++;
        }
        System.out.println(s);
    }
}

 

标签:java,String,kk,System,int,num,id,贪心
From: https://www.cnblogs.com/tingtin/p/16994257.html

相关文章

  • java.sql.Connection 线程安全吗?
    首先看一段代码:try(Connectionconnection=DriverManager.getConnection("jdbc:mysql://remote01:3306/test");){ ExecutorServiceexecutor=ThreadUtil.newExecut......
  • Java IO
    JavaIO原理:作者:哟哟的小豆豆链接:https://juejin.cn/post/6844903839439519758来源:稀土掘金类结构及继承关系图常见面试题什么是流?字符串分解---------------......
  • java中的抽象类
    本文主要讲述java中的抽象类,以及具体的细节老韩的抽象类介绍 ......
  • open for java 创建圆弧
    //徐华进2022/12/20///*==================================================================================================Copyright(c)2004UGS......
  • Java序列化与反序列化三连问:是什么?为什么要?如何做?
    Java序列化与反序列化是什么?Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程:序列化:对象序列化的最主要的用处就是在......
  • 为什么Java线程没有Running状态?
    Java虚拟机层面所暴露给我们的状态,与操作系统底层的线程状态是两个不同层面的事。具体而言,这里说的Java线程状态均来自于Thread类下的State这一内部枚举类中所定义的......
  • 解析Java框架中entity层,mapper层,service层,controller各层作用
    转载自:https://blog.csdn.net/u011095110/article/details/86088976一、entity层别名:model层,domain层用途:实体层,用于存放我们的实体类,与数据库中的属性值基本......
  • 4.Java程序初识
    4.Java程序初识4.1HelloWorld程序以Hello.java为例,java应用程序的执行入口是main()方法,其有固定格式:/***类文件,一个源文件最多只能有一个public类,且与文件名称一......
  • Xml转Java实体类对象 xml转Javabena 对象 且多级嵌套 复杂嵌套
    最近在做企微开发,遇到了一个比较复杂的xml然后要去我将xml转成实体类xml如下<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[sys]]></Fro......
  • java的final关键字
    本文主要讲述java的final关键字和相关细节。老韩知识介绍:示例代码如下:1publicclassFinalTest{2publicstaticvoidmain(String[]args){3......