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;
    }
}
相关推荐
BduL OWED2 分钟前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
6Hzlia10 分钟前
【Hot 100 刷题计划】 LeetCode 394. 字符串解码 | C++ 单栈回压法
c++·算法·leetcode
riNt PTIP16 分钟前
怎么下载安装yarn
java
imuliuliang19 分钟前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
微刻时光19 分钟前
影刀RPA:循环相似元素列表深度解析与实战指南
java·人工智能·python·机器人·自动化·rpa·影刀
豆瓣鸡34 分钟前
Redis笔记(黑马点评)
java·redis·nosql
穿条秋裤到处跑36 分钟前
每日一道leetcode(2026.04.22):距离字典两次编辑以内的单词
算法·leetcode
小碗羊肉38 分钟前
【从零开始学Java | 第四十二篇】生产者消费者问题(等待唤醒机制)
java·开发语言
流年如夢38 分钟前
自定义类型进阶:联合与枚举
java·c语言·开发语言·数据结构·数据库·c++·算法
霸道流氓气质1 小时前
SpringBoot+LangChain4j+Ollama实现Function Calling工具调用-仿智能客服示例
java·spring boot·后端