Golang | Leetcode Golang题解之第397题整数替换

题目:

题解:

Go 复制代码
func integerReplacement(n int) (ans int) {
    for n != 1 {
        switch {
        case n%2 == 0:
            ans++
            n /= 2
        case n%4 == 1:
            ans += 2
            n /= 2
        case n == 3:
            ans += 2
            n = 1
        default:
            ans += 2
            n = n/2 + 1
        }
    }
    return
}
相关推荐
橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——二分查找
算法·leetcode·面试·职场和发展·c/c++
还是码字踏实3 小时前
基础数据结构之哈希表:两数之和(LeetCode 1 简单题)
数据结构·leetcode·散列表
Kt&Rs3 小时前
11.5 LeetCode 题目汇总与解题思路
数据结构·算法·leetcode
还是码字踏实3 小时前
基础数据结构之数组的前缀和技巧:和为K的子数组(LeetCode 560 中等题)
算法·leetcode·前缀和·哈希字典
py有趣9 小时前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
夏鹏今天学习了吗9 小时前
【LeetCode热题100(62/100)】搜索二维矩阵
算法·leetcode·矩阵
吃着火锅x唱着歌11 小时前
LeetCode 1128.等价多米诺骨牌对的数量
算法·leetcode·职场和发展
十八岁讨厌编程11 小时前
【算法训练营 · 补充】LeetCode Hot100(中)
算法·leetcode
钢门狂鸭12 小时前
go开发规范指引
开发语言·驱动开发·golang
小当家.10513 小时前
[LeetCode]Hot100系列.贪心总结+思想总结
算法·leetcode·职场和发展