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;
    }
}
相关推荐
随机昵称_12345610 分钟前
springboot导出带水印文字的xlsx
java·spring boot·后端
Lyyaoo.23 分钟前
What is Maven?
java·spring boot·maven
23.29 分钟前
【Java】NIO零拷贝:为何transferTo需要循环调用?
java·面试·nio
I_LPL33 分钟前
day48 代码随想录算法训练营 图论专题1
java·算法·深度优先·图论·广度优先·求职面试
架构师沉默35 分钟前
如果 Spring 没了,Java 会怎么样?
java·后端·架构
叶宇燚43 分钟前
Java整理--数据结构篇
java·开发语言·数据结构
吴声子夜歌1 小时前
小程序——界面API(一)
java·javascript·小程序
予枫的编程笔记1 小时前
【面试专栏|Java并发编程】从Runnable到Callable,Java4种线程创建方式
java·多线程·thread·java面试·runnable·callable·java线程
无尽的罚坐人生1 小时前
hot 100 101. 对称二叉树
数据结构·算法·leetcode
野犬寒鸦1 小时前
SAP后端实习开发面试:操作系统与网络核心考点及Linux与Redis
java·服务器·网络·后端·面试