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;
    }
}
相关推荐
qq_5470261795 分钟前
Java 中的 Caffeine 缓存详解
java·开发语言·缓存
沐雪轻挽萤17 分钟前
15. C++17新特性-std::string_view
java·开发语言·c++
Tisfy30 分钟前
LeetCode 3783.整数的镜像距离:数学
数学·算法·leetcode·题解
水蓝烟雨31 分钟前
0010.三数之和
数据结构·算法·leetcode
devilnumber33 分钟前
java的NIO框架Netty、Mina、Grizzly 和 Jetty 四种对比
java·nio·java面试·jetty
努力进修36 分钟前
【java-数据结构】Java优先级队列揭秘:堆的力量让数据处理飞起来
java·开发语言·数据结构
亚历克斯神36 分钟前
Java 代码质量与静态分析:2026 实战指南
java·spring·微服务
@hhr36 分钟前
使用java对接火山方舟doubao-seedance-1.5-pro 模型进行视频生成
java·python·音视频
廋到被风吹走37 分钟前
【LangChain4j】Java 生态中最灵活、功能最强大的纯 Java 大模型应用开发框架(支持声明式@AiService与复杂RAG/Agent)
java·开发语言·python
艾克杏39 分钟前
初学Java之范型
java·开发语言