• Java实现 蓝桥杯 历届真题 稍大的串


    串可以按照字典序进行比较。例如:
    abcd 小于 abdc

    如果给定一个串,打乱组成它的字母,重新排列,可以得到许多不同的串,在这些不同的串中,有一个串刚好给定的串稍微大一些。科学地说:它是大于已知串的所有串中最小的串。你的任务就是求出这个“稍大的串”。

    例如:
    输入串:
    abfxy
    程序应该输出:
    abfyx

    再例如:
    输入串:
    ayyyxxff
    程序应该输出:
    fafxxyyy

    fyyyxxaa
    数据规模约定:
    输入的串不超过1000个字符。

    特例:
    如果已知的串已经是所有重组串中最大的,则原样输出读入的那个串。

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 1000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
    注意:主类的名字必须是:Main,否则按无效代码处理。

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
        
        public void getResult(String A) {
            int len = A.length();
            int i = len - 1;
            for(;i >= 1;i--)
                if(A.charAt(i - 1) < A.charAt(i))
                    break;
            if(i == 0) {
                System.out.println(A);
                return;
            }
            char temp = A.charAt(i - 1);
            char[] arrayB = A.substring(i).toCharArray();
            Arrays.sort(arrayB);
            for(int j = 0;j < arrayB.length;j++)
                if(arrayB[j] > temp) {
                    char a = arrayB[j];
                    arrayB[j] = temp;
                    temp = a;
                    break;
                }
            StringBuilder result = new StringBuilder(A.subSequence(0, i - 1));
            result.append(temp);
            for(int j = 0;j < arrayB.length;j++)
                result.append(arrayB[j]);
            System.out.println(result);
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            Scanner in = new Scanner(System.in);
            String A = in.next();
            test.getResult(A);
        }
    }
    
  • 相关阅读:
    8-2蒙版初识
    8-1使用自由变换(有些操作和教程不同)
    7-11使用色彩调整图层
    7-10使用历史记录画笔
    7-9将灰度转为彩色
    7-8其他色彩调整
    7-7自动色阶/自动对比度/自动颜色
    7-6替换颜色和色彩范围选取
    7-5匹配颜色
    7-4暗调/高光
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078140.html
Copyright © 2020-2023  润新知