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

题目:

题解:

java 复制代码
class Solution {
    public int integerReplacement(int n) {
        int ans = 0;
        while (n != 1) {
            if (n % 2 == 0) {
                ++ans;
                n /= 2;
            } else if (n % 4 == 1) {
                ans += 2;
                n /= 2;
            } else {
                if (n == 3) {
                    ans += 2;
                    n = 1;
                } else {
                    ans += 2;
                    n = n / 2 + 1;
                }
            }
        }
        return ans;
    }
}
相关推荐
IT_Octopus几秒前
java <T> 是什么?
java·开发语言
月明长歌3 分钟前
【码道初阶】Leetcode面试题02.04:分割链表[中等难度]
java·数据结构·算法·leetcode·链表
如竟没有火炬5 分钟前
快乐数——哈希表
数据结构·python·算法·leetcode·散列表
silence2505 分钟前
Maven Central 上传(发布)JAR 包流程
java·maven·jar
qq_381454997 分钟前
数据脱敏全流程解析
java·网络·数据库
郝学胜-神的一滴9 分钟前
设计模式依赖于多态特性
java·开发语言·c++·python·程序人生·设计模式·软件工程
测试人社区—小叶子13 分钟前
DevTestOps成熟度模型:从CI/CD到质量门禁
java·运维·网络·人工智能·测试工具·ci/cd·自动化
honder试试19 分钟前
客户端连接Clickhouse连不上解决方案
java·clickhouse
lang2015092820 分钟前
深入解析Sentinel熔断机制
java·前端·sentinel
全粘架构师24 分钟前
五分钟精通RuntimeException
java·exception