397. 整数替换

哈喽!大家好,我是奇哥,一位专门给面试官添堵的职业面试员

文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟!

文章目录

一、题目

给定一个正整数 n ,你可以做如下操作:

如果 n 是偶数,则用 n / 2替换 n 。

如果 n 是奇数,则可以用 n + 1或n - 1替换 n 。

返回 n 变为 1 所需的 最小替换次数 。

示例 1:

输入:n = 8

输出:3

解释:8 -> 4 -> 2 -> 1

示例 2:

输入:n = 7

输出:4

解释:7 -> 8 -> 4 -> 2 -> 1

或 7 -> 6 -> 3 -> 2 -> 1

示例 3:

输入:n = 4

输出:2

二、答案

class Solution {

public int integerReplacement(int n) {

if (n == 1) {

return 0;

}

if (n % 2 == 0) {

return 1 + integerReplacement(n / 2);

}

return 2 + Math.min(integerReplacement(n / 2), integerReplacement(n / 2 + 1));

}

}

三、总结

这里关于算法还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
如果觉得我的文章还不错的话就点个赞吧,另外可以微信搜索【小奇JAVA面试】阅读更多的好文章,获取我为大家准备的资料。

相关推荐
菜菜的顾清寒1 分钟前
HOT100力扣(40) 动态规划-爬楼梯
算法·leetcode·动态规划
m沐沐4 分钟前
【机器学习】聚类算法-K-means聚类
人工智能·python·算法·机器学习·pycharm·kmeans·聚类
z落落13 分钟前
C# Dictionary 字典集合+数组、List、Dictionary 三者终极对比
算法
醇氧13 分钟前
排队论(牛吃草问题)解题全解析
算法
蓝速科技26 分钟前
3D 数字人全息舱算力部署方案对比:本地 X86 独显架构与云端 RK 架构怎么选才好
数据结构·人工智能·算法·架构·排序算法
qingyulee41 分钟前
集成学习、聚类算法
算法·聚类·集成学习
lqqjuly43 分钟前
机器人状态估计与 SLAM—概率推理到 simultaneous Localization and Mapping
算法·机器人
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章79-单位转换
图像处理·人工智能·opencv·算法·计算机视觉
兰令水1 小时前
leecodecode【双指针题2】【2026.5.26打卡-java版本】
java·开发语言·算法
一只老丸1 小时前
HOT100题打卡第27天——动态规划(hard)
算法·动态规划