java 397.整数替换(#)。java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 397.整数替换(#)。java相关的知识,希望对你有一定的参考价值。

public int integerReplacement(int n) {
    int c = 0;
    while (n != 1) {
        if ((n & 1) == 0) {
            n >>>= 1;
        } else if (n == 3 || Integer.bitCount(n + 1) > Integer.bitCount(n - 1)) {
            --n;
        } else {
            ++n;
        }
        ++c;
    }
    return c;
}
public class Solution {
    public int integerReplacement(int n) {
        int c = 0;
        while (n != 1) {
            if ((n & 1) == 0) {
                n >>>= 1;
            } else if (n == 3 || ((n >>> 1) & 1) == 0) {
                --n;
            } else {
                ++n;
            }
            ++c;
        }
        return c;
    }
}

以上是关于java 397.整数替换(#)。java的主要内容,如果未能解决你的问题,请参考以下文章

java 397.整数替换(#)。java

java 397.整数替换(#)。java

java 397.整数替换(#)。java

java 397.整数替换(#)。java

Leetcode 397 整数替换

397.整数替换