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;
    }
}
相关推荐
Gerardisite6 分钟前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
闲人编程1 小时前
Python的导入系统:模块查找、加载和缓存机制
java·python·缓存·加载器·codecapsule·查找器
故渊ZY1 小时前
Java 代理模式:从原理到实战的全方位解析
java·开发语言·架构
匿者 衍1 小时前
POI读取 excel 嵌入式图片(支持wps 和 office)
java·excel
一个尚在学习的计算机小白1 小时前
java集合
java·开发语言
IUGEI2 小时前
synchronized的工作机制是怎样的?深入解析synchronized底层原理
java·开发语言·后端·c#
q***13612 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
z***I3942 小时前
Java桌面应用案例
java·开发语言
r***12382 小时前
SpringBoot最佳实践之 - 使用AOP记录操作日志
java·spring boot·后端
间彧2 小时前
Java进程内存深度解析:从JVM组件内存到RSS的全面视角
java