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;
    }
}
相关推荐
墨染点香16 分钟前
LeetCode 刷题【146. LRU 缓存】
leetcode·缓存·哈希算法
qk学算法18 分钟前
力扣滑动窗口题目-76最小覆盖子串&&1234替换子串得到平衡字符串
数据结构·算法·leetcode
小欣加油19 分钟前
leetcode 860 柠檬水找零
c++·算法·leetcode·职场和发展·贪心算法
code_std22 分钟前
SpringBoot 登录验证码
java·spring boot·后端
摇滚侠23 分钟前
Spring Boot3零基础教程,响应式编程,前景提要,笔记108
java·spring boot·笔记
java干货27 分钟前
BIO是“一人盯一桌”,NIO是“一人管全场”,AIO是“机器人送餐”
java·机器人·nio
还是码字踏实28 分钟前
基础数据结构之数组的矩阵遍历:螺旋矩阵(LeetCode 54 中等题)
数据结构·leetcode·矩阵·螺旋矩阵
Mos_x30 分钟前
@RestController注解
java·后端
迦蓝叶38 分钟前
使用 Apache Jena 构建 Java 知识图谱
java·apache·知识图谱·图搜索·关系查询·关系推理
学IT的周星星40 分钟前
Spring 框架整合 JUnit 单元测试
java·spring·junit·单元测试