美文网首页
Maximum Swap

Maximum Swap

作者: Frank_Kivi | 来源:发表于2018-06-27 10:38 被阅读8次

https://www.lintcode.com/problem/maximum-swap/description

public class Solution {
    /**
     * @param num: a non-negative intege
     * @return: the maximum valued number
     */
    public int maximumSwap(int num) {
        // Write your code here
        String s = String.valueOf(num);
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char aChar = chars[i];
            int min = getMin(chars, i);
            if (min != i) {
                chars[i] = chars[min];
                chars[min] = aChar;
                return Integer.parseInt(String.valueOf(chars));
            }
        }
        return num;
    }

    private int getMin(char[] chars, int i) {
        int index = i;
        for (int j = i + 1; j < chars.length; j++) {
            if (Character.compare(chars[j], chars[index]) >= 0) {
                index = j;
            }
        }
        return index;
    }
}

相关文章

网友评论

      本文标题:Maximum Swap

      本文链接:https://www.haomeiwen.com/subject/picbyftx.html