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
}

运行结果

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

相关推荐
努力的小雨16 小时前
我用 QClaw 做了个 Web3 陪学助手,专治 Java 程序员的“概念劝退”
经验分享·ai智能
罗西的思考18 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
美团技术团队1 天前
LongCat 开源 VitaBench 2.0:长期动态智能体基准新标杆
人工智能·算法
To_OC2 天前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC2 天前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
BadBadBad__AK2 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
_清歌2 天前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局2 天前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象2 天前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法