View Code of Problem 3846

public static void main(String[] args) {
        int n = 9;
        int k = 2;
        long rs = new InterestingSet().kthInterestingNumber(n, k);
        System.out.println(rs);
    }

    private long kthInterestingNumber(int n, int k) {
        char[] strNumber = Long.toBinaryString(n).toCharArray();
        for (int i = 0; i < k; i++) {
            strNumber = biggerThanIt(strNumber);
        }
        return parseBinaryLong(new String(strNumber));
    }

    private char[] biggerThanIt(char[] charNumbers) {
        int firstZero = charNumbers.length - 1;
        int firstOne = charNumbers.length - 1;
        for (int i = charNumbers.length - 1; i > 0; i--) {
            if (charNumbers[i] == '0') {
                firstOne = i;
            } else {
                firstZero = i;
            }

            if (firstZero > firstOne) {
                return swap(charNumbers, firstOne, firstZero);
            }
        }
        return charNumbers;
    }

    private char[] swap(char[] cs, int i, int j) {
        char x = cs[i];
        cs[i] = cs[j];
        cs[j] = x;
        return cs;
    }


    private static long parseBinaryLong(String s) {
        return new BigInteger(s, 2).longValue();
    }
/*
Main.java:1: error: class, interface, or enum expected
public static void main(String[] args) {
              ^
Main.java:3: error: class, interface, or enum expected
        int k = 2;
        ^
Main.java:4: error: class, interface, or enum expected
        long rs = new InterestingSet().kthInterestingNumber(n, k);
        ^
Main.java:5: error: class, interface, or enum expected
        System.out.println(rs);
        ^
Main.java:6: error: class, interface, or enum expected
    }
    ^
Main.java:10: error: class, interface, or enum expected
        for (int i = 0; i < k; i++) {
        ^
Main.java:10: error: class, interface, or enum expected
        for (int i = 0; i < k; i++) {
                        ^
Main.java:10: error: class, interface, or enum expected
        for (int i = 0; i < k; i++) {
                               ^
Main.java:12: error: class, interface, or enum expected
        }
        ^
Main.java:14: error: class, interface, or enum expected
    }
    ^
Main.java:18: error: class, interface, or enum expected
        int firstOne = charNumbers.length - 1;
        ^
Main.java:19: error: class, interface, or enum expected
        for (int i = charNumbers.length - 1; i > 0; i--) {
        ^
Main.java:19: error: class, interface, or enum expected
        for (int i = charNumbers.length - 1; i > 0; i--) {
                                             ^
Main.java:19: error: class, interface, or enum expected
        for (int i = charNumbers.length - 1; i > 0; i--) {
                                                    ^
Main.java:22: error: class, interface, or enum expected
            } else {
            ^
Main.java:24: error: class, interface, or enum expected
            }
            ^
Main.java:28: error: class, interface, or enum expected
            }
            ^
Main.java:31: error: class, interface, or enum expected
    }
    ^
Main.java:35: error: class, interface, or enum expected
        cs[i] = cs[j];
        ^
Main.java:36: error: class, interface, or enum expected
        cs[j] = x;
        ^
Main.java:37: error: class, interface, or enum expected
        return cs;
        ^
Main.java:38: error: class, interface, or enum expected
    }
    ^
Main.java:43: error: class, interface, or enum expected
    }
    ^
23 errors
*/

Double click to view unformatted code.


Back to problem 3846