397.整数替换
https://leetcode-cn.com/problems/integer-replacement/
一、dp
用dp[n]
表示n变为1的最小操作次数,易知当n为偶数,只有一个来源dp[n] = dp[n/2]+1
当n为奇数,有两个来源:dp[n] = min(dp[n-1], dp[n+1]) + 1
然而超时
改进
其实没必要把1~n的次数都计算出来,只需要计算路径上情况的即可
最后更新于
https://leetcode-cn.com/problems/integer-replacement/
用dp[n]
表示n变为1的最小操作次数,易知当n为偶数,只有一个来源dp[n] = dp[n/2]+1
当n为奇数,有两个来源:dp[n] = min(dp[n-1], dp[n+1]) + 1
然而超时
其实没必要把1~n的次数都计算出来,只需要计算路径上情况的即可
最后更新于