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;
    }
}
相关推荐
-海绵东东-20 分钟前
哈希表······················
算法·leetcode·散列表
sheji341627 分钟前
【开题答辩全过程】以 婚纱影楼管理系统为例,包含答辩的问题和答案
java·eclipse
LuDvei29 分钟前
LINUX文件操作函数
java·linux·算法
葵续浅笑1 小时前
从Spring拦截器到Filter过滤器:一次报文修改加解密的填坑经验
java·后端·spring
J2虾虾1 小时前
Spring Boot中使用@Scheduled做定时任务
java·前端·spring boot
菜鸡儿齐2 小时前
leetcode-全排列
算法·leetcode·深度优先
不想看见4042 小时前
Maximal Square 基本动态规划:二维--力扣101算法题解笔记
算法·leetcode·动态规划
夏乌_Wx2 小时前
LeetCode 160. 相交链表 | 三种解法吃透核心逻辑(哈希表 + 双指针 + 长度对齐)
leetcode·链表·哈希表
肉肉不想干后端2 小时前
联合订单并发退款:一次分布式锁冲突的排查与思考
java
Hag_202 小时前
LeetCode Hot100 53.最大子数组和
数据结构·算法·leetcode