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;
    }
}
相关推荐
跟着珅聪学java1 分钟前
Spring Boot 中整合 MySQL 并打印 SQL 日志
java·spring boot
ᐇ9594 分钟前
Java集合框架实战:HashMap与HashSet的妙用
java·开发语言
阿智智4 分钟前
用Maven的quickstart archetype创建项目并结合JUnit5单元测试
java·单元测试·maven·junit5
乂爻yiyao9 分钟前
设计模式思想——从单例模式说起
java·单例模式·设计模式
q***116517 分钟前
SpringBoot创建动态定时任务的几种方式
java·spring boot·spring
by__csdn20 分钟前
微服务与单体那些事儿
java·后端·微服务·云原生·架构
权泽谦27 分钟前
Java 在机器学习中的应用:基于 DL4J 与 Weka 的完整实战案例
java·机器学习·数据挖掘
q***239238 分钟前
nginx简单命令启动,关闭等
java·服务器·nginx
拾忆,想起40 分钟前
Dubbo负载均衡全解析:五种策略详解与实战指南
java·运维·微服务·架构·负载均衡·dubbo·哈希算法
shayudiandian40 分钟前
【Java】关键字 native
java