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 小时前
Leetcode—620. 有趣的电影&&Q3. 有趣的电影【简单】
数据库·后端·mysql·算法·leetcode·职场和发展
2301_800256112 小时前
地理空间数据库中的CPU 和 I/O 开销
数据库·算法·oracle
一个不知名程序员www2 小时前
算法学习入门---结构体和类(C++)
c++·算法
XFF不秃头5 小时前
力扣刷题笔记-旋转图像
c++·笔记·算法·leetcode
王老师青少年编程5 小时前
csp信奥赛C++标准模板库STL案例应用3
c++·算法·stl·csp·信奥赛·lower_bound·标准模版库
有为少年6 小时前
Welford 算法 | 优雅地计算海量数据的均值与方差
人工智能·深度学习·神经网络·学习·算法·机器学习·均值算法
Ven%6 小时前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
山楂树の6 小时前
爬楼梯(动态规划)
算法·动态规划
谈笑也风生6 小时前
经典算法题型之复数乘法(二)
开发语言·python·算法