网易首页 > 网易号 > 正文 申请入驻

2026-08-24:检查相邻数字差。用go语言,给定一个纯数字字符串,你需要检查其中任意两个紧挨着的数字,它们数值上的差距是否都不会超过 2

0
分享至

2026-08-24:检查相邻数字差。用go语言,给定一个纯数字字符串,你需要检查其中任意两个紧挨着的数字,它们数值上的差距是否都不会超过 2。

如果整串数字中所有相邻位置都满足这个条件,就返回“是”(true);只要有一处相邻数字的差值大于 2,就返回“否”(false)。

这里的差值指的是两个数字相减后取绝对值。

2 <= s.length <= 100。

s 仅由数字组成。

输入: s = "132"。

输出: true。

解释:

s[0] 和 s[1] 处数字的绝对差为 abs(1 - 3) = 2。

s[1] 和 s[2] 处数字的绝对差为 abs(3 - 2) = 1。

由于两个差值都至多为 2,因此答案为 true。

题目来自力扣3931。

详细步骤分解

第一步:获取输入字符串
程序接收一个字符串s,例如"132"。这个字符串只包含数字字符'0'到'9',长度在2到100之间。

第二步:准备遍历
我们要检查的是相邻位置,所以需要从字符串的第一个字符开始,一直检查到倒数第二个字符。对于长度为n的字符串,需要检查的位置对是(0,1)、(1,2)、...、(n-2,n-1),总共n-1对。

第三步:逐个检查相邻数字对
在每次循环中:

  • • 取出当前位置的字符s[i]和下一个位置的字符s[i+1]

  • • 将这两个字符转换成它们对应的整数值。字符'0'对应整数0,'1'对应整数1,依此类推。在Go语言中,对字符做int()转换会得到该字符的ASCII码,比如'0'是48,'1'是49,所以两个字符的ASCII码差值就等于它们所代表数字的差值,因此可以直接用ASCII码相减。

  • • 计算这两个整数的绝对差值。如果差值为负数,就取它的相反数;如果为正或零,就保持原值。

  • • 将这个绝对差值与2进行比较:如果大于2,说明这一对相邻数字不符合要求,立即返回false,整个函数结束。

第四步:完成全部检查
如果循环完整执行完毕,没有遇到任何差值大于2的情况,说明所有相邻数字对都满足条件,此时返回true。

第五步:输出结果
在主函数中,将返回的布尔值打印出来,在Go中布尔值的默认输出就是true或false。

针对示例"132"的执行过程

  • • 第一次循环检查位置0和1:字符'1'和'3',ASCII码分别是49和51,差值绝对值为2,不大于2,继续。

  • • 第二次循环检查位置1和2:字符'3'和'2',ASCII码分别是51和50,差值绝对值为1,不大于2,继续。

  • • 循环结束,所有相邻对都检查通过,返回true并打印输出。

时间复杂度和空间复杂度

时间复杂度:O(n),其中n是字符串的长度。程序只需要遍历一次字符串,对每个相邻位置做常数时间的计算和比较操作。最坏情况下,如果所有相邻差值都满足条件,会检查n-1对;如果中途发现不符合,则提前终止,但总体仍不超过n-1次操作。因此时间复杂度与字符串长度呈线性关系。

额外空间复杂度:O(1),即常数级别。程序在检查过程中只使用了几个临时变量来存储字符值、差值等,没有使用随输入规模增长的额外数据结构(如数组、切片、映射等)。无论字符串多长,占用的额外内存空间都是固定的少量字节。

Go完整代码如下:

package main

import (
"fmt"
)

func isAdjacentDiffAtMostTwo(s string) bool {
for i := range len(s) - 1 {
if abs(int(s[i])-int(s[i+1])) > 2 {
return false
}
}
return true
}

func abs(x int) int {
if x < 0 {
return -x
}
return x
}

func main() {
s := "132"
result := isAdjacentDiffAtMostTwo(s)
fmt.Println(result)
}

Python完整代码如下:

# -*-coding:utf-8-*-

def abs_value(x: int) -> int:
return -x if x < 0 else x

def is_adjacent_diff_at_most_two(s: str) -> bool:
for i in range(len(s) - 1):
if abs_value(ord(s[i]) - ord(s[i+1])) > 2:
return False
return True

# 测试
s = "132"
result = is_adjacent_diff_at_most_two(s)
print(result)

C++完整代码如下:

  



using namespace std;

bool isAdjacentDiffAtMostTwo(const string& s) {
for (size_t i = 0; i < s.length() - 1; i++) {
if (abs(s[i] - s[i+1]) > 2) {
return false;
}
}
return true;
}

int main() {
string s = "132";
cout << boolalpha << isAdjacentDiffAtMostTwo(s) << endl;
return 0;
}

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中国金花1胜1负!王曦雨美网热身赛开门红,张帅2连败爆冷1轮游!

中国金花1胜1负!王曦雨美网热身赛开门红,张帅2连败爆冷1轮游!

刘姚尧的文字城堡
2026-08-24 11:57:12
一张考卷,让他发现了毛泽东的才华,赌上了自己的一生

一张考卷,让他发现了毛泽东的才华,赌上了自己的一生

历史图鉴
2026-07-08 13:07:37
苹果新品正式官宣,9月24日,活动结束

苹果新品正式官宣,9月24日,活动结束

科技堡垒
2026-08-24 12:25:44
血战47天的抗日名将,兵败投降反被授勋,老军长拍桌怒吼4个字

血战47天的抗日名将,兵败投降反被授勋,老军长拍桌怒吼4个字

浩渺青史
2026-08-25 02:08:10
唐师曾去世前画面公开,前妻用双手捂脚,徒弟拉着手不放,播放《主祷文》

唐师曾去世前画面公开,前妻用双手捂脚,徒弟拉着手不放,播放《主祷文》

育学笔谈
2026-08-24 16:54:33
CCTV5凌晨直播!男篮客战卡塔尔:赵睿周琦回归呼声炸锅

CCTV5凌晨直播!男篮客战卡塔尔:赵睿周琦回归呼声炸锅

星Xin辰大海
2026-08-24 09:57:41
绿茶餐厅回应“用敌敌畏消杀”

绿茶餐厅回应“用敌敌畏消杀”

中国新闻周刊
2026-08-24 19:29:09
高雄豪雨淹水!柯志恩冲第一线全身湿透,台媒:神似当年韩国瑜

高雄豪雨淹水!柯志恩冲第一线全身湿透,台媒:神似当年韩国瑜

海峡导报社
2026-08-23 15:14:01
4-5惜败!就在刚刚,斯诺克爆大冷:世界排名120掀翻世家第4!新科世锦赛冠军一轮游回家,中国9人晋级32强,赵心童成唯一曙光

4-5惜败!就在刚刚,斯诺克爆大冷:世界排名120掀翻世家第4!新科世锦赛冠军一轮游回家,中国9人晋级32强,赵心童成唯一曙光

小七说篮球
2026-08-24 20:20:44
沉默45年,中国终于迎来第二轮“严打”!目标改变总体战正式打响

沉默45年,中国终于迎来第二轮“严打”!目标改变总体战正式打响

闻识
2026-05-04 08:59:03
饿死人就开战?菲律宾司令放狠话:中国若不撤出仁爱礁,必有一战

饿死人就开战?菲律宾司令放狠话:中国若不撤出仁爱礁,必有一战

前行之路
2026-06-14 13:03:38
终于知道苹果直营店的员工每天都很有活力的原因了,网友:门槛高

终于知道苹果直营店的员工每天都很有活力的原因了,网友:门槛高

另子维爱读史
2026-05-23 08:00:45
吹风机是大补,医生提醒:一个吹风机等于半个老中医!不要嫌弃

吹风机是大补,医生提醒:一个吹风机等于半个老中医!不要嫌弃

健康之光
2026-05-06 16:55:06
学生跑在老师前面!上海交大PPT撕开人工智能学科的现实伤疤:AI浪潮下,高校已经跟不上了

学生跑在老师前面!上海交大PPT撕开人工智能学科的现实伤疤:AI浪潮下,高校已经跟不上了

火山詩话
2026-08-24 11:54:52
养老金怎么涨更科学:北京方案值得认真学

养老金怎么涨更科学:北京方案值得认真学

你在偷看谁
2026-08-23 21:01:38
当崇洋媚外达到一定的程度,她们能出卖自己,还能出卖自己的国家

当崇洋媚外达到一定的程度,她们能出卖自己,还能出卖自己的国家

江启
2026-08-16 13:56:25
难以置信!湛江一学校明确告知家长:孩子未接种HPV疫苗,将影响来做查验,引发争议

难以置信!湛江一学校明确告知家长:孩子未接种HPV疫苗,将影响来做查验,引发争议

火山詩话
2026-08-21 05:50:33
佟大为关悦结婚十九年零绯闻,一儿两女七夕同游,娱乐圈清流

佟大为关悦结婚十九年零绯闻,一儿两女七夕同游,娱乐圈清流

悦君兮君不知
2026-08-25 02:31:21
关税战打到最后,全世界会发现,折腾了半天,中美关税是10%

关税战打到最后,全世界会发现,折腾了半天,中美关税是10%

福建睿平
2026-08-24 07:47:30
韩红基金会供应商只卖13万不带医疗设备不要资质

韩红基金会供应商只卖13万不带医疗设备不要资质

看看新闻Knews
2026-08-24 17:12:30
2026-08-25 03:24:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1414文章数 80关注度
往期回顾 全部

科技要闻

宇树科技,3天跌了1000亿

头条要闻

"店主扶老人遭索赔1.9万"协议书公开 完整视频披露

头条要闻

"店主扶老人遭索赔1.9万"协议书公开 完整视频披露

体育要闻

42张照片 珍藏世界杯的热辣滚烫

娱乐要闻

韩沛颖开撕《主角》剧组引发全网热议

财经要闻

宇树IPO:追高、被套,多久能回血?

汽车要闻

智能超混 国民家轿 上汽大众ID. ERA 5S上市 限时8.99万元起

态度原创

时尚
旅游
艺术
本地
游戏

伊姐周日热推:电视剧《花开锦绣》;电视剧《师兄太稳健》......

旅游要闻

不靠古镇不靠洱海,大理小众村落,凭一片古树林惊艳世人!

艺术要闻

全球最美Top10刚刚曝光!第1名居然是她?迪丽热巴才排58?网友:这榜单疯了吧!

本地新闻

《牛来》的一声“妈妈”,到底多少人被精神污染了

《GTA6》第11个视频泄露 杰森夜闯果体派对

无障碍浏览 进入关怀版