首页 > 代码库 > integer-replacement
integer-replacement
https://leetcode.com/problems/integer-replacement/// 除了首位的1,其他的1需要2次操作,0需要1次操作。// 所以尽量把1变成0// 所以,3直接得出结果2,// 其他的,01->-1,11->+1public 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。