LeetCode Integer Replacement
来源:互联网 发布:网络骑士 所有作品集 编辑:程序博客网 时间:2024/05/29 02:12
题意:给出一个正数n,如果n为偶数则n = n /2,如果n为奇数,则n=n + 1或者n=n-1,求其变为1所需要的最少步数。
思路:刚开始用记忆化的dp,当数值比较大时,提示栈溢出。在判断是n=n+1或者n=n-1时总是选择结果位为1最小的操作
代码如下:
public class Solution{ public int integerReplacement(int n) { int ans = 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; } ans++; } return ans; }}
0 0
- 【Leetcode】397. Integer Replacement
- [leetcode]397. Integer Replacement
- LeetCode 397. Integer Replacement
- LeetCode 397. Integer Replacement
- LeetCode 397. Integer Replacement
- LeetCode 397 Integer Replacement
- [Leetcode] Integer Replacement
- LeetCode 397. Integer Replacement
- LeetCode[397] Integer Replacement
- LeetCode Integer Replacement
- Leetcode (397) Integer Replacement
- LeetCode 397. Integer Replacement
- leetcode 397. Integer Replacement
- 【LeetCode】 397. Integer Replacement
- [LeetCode]397. Integer Replacement
- Leetcode-397. Integer Replacement
- Leetcode Integer Replacement
- [leetcode]397. Integer Replacement
- 做一个 App 前需要考虑的几件事
- Medium 311题 Sparse Matrix Multiplication
- 1273面向对象程序设计上机练习十一(运算符重载)
- 【bzoj4037】【HAOI2015】【矩阵乘法】【DP】str
- (转)人工智能步入金融领域的主流玩法
- LeetCode Integer Replacement
- 树莓派搭建ROS及简单应用
- Jquery はい いいえ dialog
- Xdebug安装调试
- 开发中用来复制粘贴的代码
- greenplum安装教程
- 如何判断.lib是静态库还是导入库
- VR资源汇总
- Nginx实现负载均衡