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;
    }
}
相关推荐
云烟成雨TD12 小时前
Spring AI Alibaba 1.x 系列【39】四大多智能体(Multi-agent)架构
java·人工智能·spring
Xingxing?!12 小时前
Java 后端分层架构详解
java·架构·状态模式
_Evan_Yao13 小时前
对话的边界:HTTP 的克制,SSE 的流淌,WebSocket 的自由
java·后端·websocket·网络协议·http
危桥带雨13 小时前
FLASH代码部分
java·后端·spring
圣保罗的大教堂13 小时前
leetcode 3761. 镜像对之间最小绝对距离 中等
leetcode
6Hzlia13 小时前
【Hot 100 刷题计划】 LeetCode 108. 将有序数组转换为二叉搜索树 | C++ 分治法详解
c++·算法·leetcode
逍遥德13 小时前
skill模板-基于java maven项目
java·人工智能·自然语言处理·maven
XiYang-DING13 小时前
【Java EE】单例模式
java·单例模式·java-ee
志飞14 小时前
springboot配置可持久化本地缓存ehcache
java·spring boot·缓存·ehcache·ehcache持久化
itzixiao14 小时前
L1-051 打折(5分)[java][python]
java·python·算法