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;
    }
}
相关推荐
风筝在晴天搁浅12 小时前
LeetCode 162.寻找峰值
算法·leetcode
许彰午12 小时前
CacheSQL(一):手写数据库的工程化重生
java·数据库·缓存
shjita12 小时前
记录java执行中的一个错误细节
java·开发语言
空中海12 小时前
Docker入门到精通
java·docker·eureka
itzixiao13 小时前
L1-067 洛希极限(10分)[java][python]
java·开发语言·算法
java1234_小锋13 小时前
Spring AI 2.0 开发Java Agent智能体 - Spring AI项目调用本地Ollama模型
java·人工智能·spring·spring ai2.0
二哈赛车手13 小时前
新人笔记---多策略搭建策略执行链实现RAG检索后过滤
java·笔记·spring·设计模式·ai·策略模式
PESS ABIN13 小时前
JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
java·tomcat
AI进化营-智能译站13 小时前
ROS2 C++开发系列15-模板实现通用算法|宏定义ROS2调试开关|一次编码适配多平台
java·c++·算法·ai
刀法如飞13 小时前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试