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;
    }
}
相关推荐
花千树-01018 小时前
Java Agent 集成 MCP 工具协议:让 AI 真正驱动企业系统
java·ai·langchain·ai agent·mcp·harness·j-langchain
玛丽莲茼蒿18 小时前
Leetcode hot100 【中等】括号生成
算法·leetcode·职场和发展
橘子编程18 小时前
GoF 23 种设计模式完整知识总结与使用教程
java·c语言·开发语言·python·设计模式
小欣加油18 小时前
leetcode 128 最长连续序列
c++·算法·leetcode·职场和发展
君以思为故18 小时前
认识Linux -- 线程同步与互斥
java·开发语言
被摘下的星星18 小时前
Java接口需要注意的细节
java·开发语言
培风图南以星河揽胜18 小时前
幻想简历!博主本人期望的 AI Agent 全栈简历:Java + Python + Vue3 跨语言实战,代码已开源!
java·人工智能·python
鬼先生_sir19 小时前
Dubbo:从入门到精通
java·dubbo·springcloud
pwn蒸鱼19 小时前
leetcode:92. 反转链表 II
算法·leetcode·链表
艾莉丝努力练剑19 小时前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习