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;
    }
}
相关推荐
紫陌涵光2 分钟前
108.将有序数组转换为二叉搜索树
数据结构·算法·leetcode
biyezuopinvip4 分钟前
基于Spring Boot的投资理财系统设计与实现(毕业论文)
java·spring boot·vue·毕业设计·论文·毕业论文·投资理财系统设计与实现
iAkuya12 分钟前
(leetcode)力扣100 75前K个高频元素(堆)
java·算法·leetcode
极客先躯14 分钟前
高级java每日一道面试题-2025年7月17日-基础篇[LangChain4j]-如何实现模型的负载均衡和故障转移?
java·langchain·负载均衡·重试机制·负载均衡实现·故障转移实现·多级降级
何中应18 分钟前
使用jvisualvm提示“内存不足”
java·jvm·后端
何中应19 分钟前
如何手动生成一个JVM内存溢出文件
java·jvm·后端
小灵吖21 分钟前
LangChain4j Tool(Function Call)
java·后端
Lxinccode24 分钟前
AI编程(3) / claude code[3] : 更新apiKey
java·数据库·ai编程·claude code
小灵吖25 分钟前
LangChain4j Prompt 提示词工程
java·后端