Leetcode—166. 加一【简单】new(big.Int)法

2025每日刷题(234)

Leetcode---66. 加一

new(big.Int)法实现代码

go 复制代码
import "math/big"
func plusOne(digits []int) []int {
    num := new(big.Int)
    lens := len(digits)
    for i:= 0; i < lens; i++ {
        num.Mul(num, big.NewInt(10))
        num.Add(num, big.NewInt(int64(digits[i])))
    }
    num.Add(num, big.NewInt(1))
    flag := false
    if(digits[lens - 1] == 9) {
        flag = true
    }
    var ans []int
    if(flag) {
        ans = make([]int, lens + 1)
        for i := lens; i >= 0; i-- {
            mod := new(big.Int)
            mod.Mod(num, big.NewInt(10))
            ans[i] = int(mod.Int64())
            
            if num.Cmp(big.NewInt(0)) == 0 {
                flag = false
                break
            }
            num.Div(num, big.NewInt(10))
        }
        if(!flag) {
            ans = ans[1:]
        }
    } else {
        ans = make([]int, lens)
        copy(ans, digits)
        ans[lens - 1] += 1
    }
    return ans
}

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
怕浪猫43 分钟前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i2 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
Evand J2 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
weixin_307779134 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i4 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i5 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
ychqsq5 小时前
207.炸酱面
经验分享·职场和发展
Godspeed Zhao5 小时前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达
可乐ea5 小时前
Agent 模型分级升级路由:用置信度阈值把贵模型省下来
人工智能·算法·机器学习·结构化输出·置信度路由·模型升级路由·大模型成本优化
Navigator_Z5 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode