news 2026/9/9 16:23:30

DeepSeek 专家模式 LeetCode 8.字符串转换整数(atoi) Golang实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek 专家模式 LeetCode 8.字符串转换整数(atoi) Golang实现

以下是 LeetCode 8. 字符串转换整数 (atoi) 的 Golang 实现,包含详细的溢出处理逻辑:

```go
func myAtoi(s string) int {
i, n := 0, len(s)

// 1. 跳过前导空格
for i < n && s[i] == ' ' {
i++
}

// 2. 处理正负号
sign := 1
if i < n {
switch s[i] {
case '+':
i++
case '-':
sign = -1
i++
}
}

// 定义 32 位整数范围常量,避免导入 math 包
const (
maxInt32 = 1<<31 - 1
minInt32 = -1 << 31
)

result := 0
// 3. 逐位解析数字
for i < n && s[i] >= '0' && s[i] <= '9' {
digit := int(s[i] - '0')

// 4. 溢出检查:在累加前判断 result*10 + digit 是否超过 MaxInt32
if result > (maxInt32-digit)/10 {
if sign == 1 {
return maxInt32
}
return minInt32
}

result = result*10 + digit
i++
}

return sign * result
}
```

---

算法思路

1. 跳过前导空格:循环移动索引,直到遇到非空格字符。
2. 处理符号:检查当前字符是否为 '+' 或 '-',记录正负号。
3. 解析数字:循环读取连续的数字字符,将其转换为整数。
4. 溢出处理:
· 在每次累加前,判断 result 是否会因为 result*10 + digit 而超过 MaxInt32。
· 若溢出,根据正负号返回 MaxInt32 或 MinInt32。
5. 返回结果:将符号与最终数字相乘。

---

复杂度分析

· 时间复杂度:O(n),其中 n 是字符串长度,只需一次遍历。
· 空间复杂度:O(1),只使用常数级额外空间。

---

测试用例

输入 输出
"42" 42
" -42" -42
"4193 with words" 4193
"words and 987" 0
"-91283472332" -2147483648

该实现完全符合题目要求,可以正确处理所有边界情况。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 17:44:58

遗失物检测数据集实战:VOC/YOLO格式与YOLOv8训练部署指南

简介&#xff1a;目标检测是计算机视觉的核心任务&#xff0c;其原理是通过算法识别图像中特定物体的位置与类别。这项技术的价值在于将视觉信息结构化&#xff0c;是实现自动化感知的关键。在安防、零售、交通等众多领域&#xff0c;目标检测为智能监控、行为分析和物品管理提…

作者头像 李华
网站建设 2026/8/30 19:38:27

电柜空间里的能量战争:02 强弱电为什么必须“分家”?

第二篇 强弱电为什么必须“分家”? —— 不是规范要求分开,而是高频能量会主动攻击最脆弱的系统 开篇:一位换件工的觉醒 某汽车零部件工厂,新产线运行仅三天,便如被无形之手搅乱。 编码器频繁报警,模拟量剧烈跳变,EtherCAT时不时掉站,称重系统如醉酒般漂移……故障…

作者头像 李华
网站建设 2026/8/30 23:09:42

基于深度学习的遥感影像智能分割:从编码器-解码器原理到工程实践

简介&#xff1a;图像分割是计算机视觉的核心任务之一&#xff0c;旨在对图像中的每个像素进行分类&#xff0c;实现从‘看到’到‘看懂’的质变。其主流技术原理依赖于编码器-解码器架构&#xff0c;编码器通过卷积和池化提取高层语义特征&#xff0c;解码器则通过上采样和跳跃…

作者头像 李华
网站建设 2026/8/31 0:18:29

Python数学建模实现个性化健康管理:从能量平衡方程到动态体重预测

1. 项目概述&#xff1a;当数学建模遇上健康管理“管住嘴&#xff0c;迈开腿”这句老生常谈的健康口号&#xff0c;背后其实蕴含着复杂的能量平衡与行为动力学问题。作为一名长期和数据、模型打交道的从业者&#xff0c;我一直在思考&#xff0c;如何用我们熟悉的工具——比如P…

作者头像 李华
网站建设 2026/8/30 14:18:30

通信基础(五)之一文搞懂 GMII 与 RGMII

欢迎关注&#xff1a;飞翔硬件杂谈如果你在做千兆以太网相关的硬件设计&#xff0c;一定绕不开两个名字&#xff1a;GMII 和 RGMII。它们都是 MAC 与 PHY 之间的接口标准&#xff0c;一个引脚多但简单直白&#xff0c;一个引脚少却暗藏玄机。RGMII 到底"省"在了哪里&…

作者头像 李华
网站建设 2026/8/30 19:34:26

人形机器人凭什么站C位?拆解小鹏机器人的技术逻辑与落地边界

小鹏机器人最近常出现在各种科技发布会和展会现场&#xff0c;而且位置往往都比较醒目。很多人说它站在了C位&#xff0c;但我更关心的不是展台排位&#xff0c;而是一个造车企业做的人形机器人&#xff0c;凭什么能拿到这么多关注。这篇内容不聊营销话术&#xff0c;也不堆新闻…

作者头像 李华