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;
    }
}
相关推荐
m***667312 小时前
SQL 实战—递归 SQL:层级结构查询与处理树形数据
java·数据库·sql
鲸沉梦落14 小时前
Java中的Stream
java
yihuiComeOn14 小时前
[源码系列:手写Spring] AOP第二节:JDK动态代理 - 当AOP遇见动态代理的浪漫邂逅
java·后端·spring
leoufung15 小时前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表
Porunarufu15 小时前
Java·关于List
java·开发语言
靠沿15 小时前
Java数据结构初阶——Collection、List的介绍与ArrayList
java·数据结构·list
程序猿小蒜15 小时前
基于springboot的的学生干部管理系统开发与设计
java·前端·spring boot·后端·spring
q***563816 小时前
Spring容器初始化扩展点:ApplicationContextInitializer
java·后端·spring
q***518916 小时前
SpringCloud系列教程:微服务的未来(十四)网关登录校验、自定义过滤器GlobalFilter、GatawayFilter
java·spring cloud·微服务
go__Ahead16 小时前
【Java】线程池源码解析
java·juc