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;
    }
}
相关推荐
铁皮哥7 小时前
【后端开发】RabbitMQ、RocketMQ、Kafka 怎么选?我从业务场景重新梳理了一遍
java·linux·数据库·分布式·kafka·rabbitmq·rocketmq
AC赳赳老秦7 小时前
数据库操作自动化:用 OpenClaw 对接 Navicat/DBeaver,实现数据备份、脱敏、日常操作自动化
java·运维·数据库·python·oracle·自动化·openclaw
程序员小白条7 小时前
AI 编程辅助,从入门到真香
java·开发语言·数据库·人工智能·面试·职场和发展
曹牧7 小时前
Java:“Syntax error on token “do“, Identifier expected”
java·开发语言
朝新_7 小时前
【LangChain】少样本提示(few-shorting) 掌握 Few-Shot 提示,让大模型按你的规则输出
java·人工智能·langchain
七七powerful7 小时前
mac电脑安装cmca根证书
java·前端·macos
曹牧7 小时前
Java:数据载体
java·开发语言
东北甜妹7 小时前
K8s Ingress
java·运维·前端
杨凯凡7 小时前
【033】Maven 生命周期与坐标:多模块结构
java·maven
北顾笙9807 小时前
day41-数据结构力扣
数据结构·算法·leetcode