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 235. Lowest Common Ancestor of a Binary Search Tree
python·算法·leetcode
毕设源码-郭学长12 小时前
【开题答辩全过程】以 高校人事管理系统 为例,包含答辩的问题和答案
java
We་ct12 小时前
LeetCode 222. 完全二叉树的节点个数:两种解法详解(BFS + 二分查找优化)
数据结构·算法·leetcode·typescript
小白菜又菜12 小时前
Leetcode 234. Palindrome Linked List
python·算法·leetcode
Zhu_S W13 小时前
Kubernetes (K8s) 完全指南:Java 开发者的容器编排实践
java·容器·kubernetes
罗超驿13 小时前
15. Java异常处理全解析:从底层原理到实战避坑指南
java·异常处理·开发实战·编程技巧·自定义异常·try-catch
柒.梧.13 小时前
吃透Spring Bean:生命周期、单例特性、作用域及扩展方式
java·后端·spring
小白菜又菜13 小时前
Leetcode 221. Maximal Square
算法·leetcode·职场和发展
zihan032113 小时前
若依(RuoYi)框架核心升级:全面适配 SpringData JPA,替换 MyBatis 持久层方案
java·开发语言·前端框架·mybatis·若依升级springboot