integer-replacement
Posted 笨鸟居士的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了integer-replacement相关的知识,希望对你有一定的参考价值。
https://leetcode.com/problems/integer-replacement/ // 除了首位的1,其他的1需要2次操作,0需要1次操作。 // 所以尽量把1变成0 // 所以,3直接得出结果2, // 其他的,01->-1,11->+1 public class Solution { public int integerReplacement(int inn) { long n = inn; if (n <= 3) { return (int)n-1; } int step = 0; while (n > 3) { // 注意下面的括号,必须有 if ((n & 1) == 0) { n >>= 1; } else if ((n & 2) == 2) { n += 1; } else { n -= 1; } step++; } return step + (int)n - 1; } }
以上是关于integer-replacement的主要内容,如果未能解决你的问题,请参考以下文章