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

2026-08-04:有效数字整数。用go语言,给定一个整数 n 和一个数字 x。当 n 的十进制表示中至少出现一次 x,并且最高位不是 x 时,称 n 是

0
分享至

2026-08-04:有效数字整数。用go语言,给定一个整数 n 和一个数字 x。

当 n 的十进制表示中至少出现一次 x,并且最高位不是 x 时,称 n 是有效的。

请判断 n 是否满足这一条件,满足则返回真,否则返回假。

0 <= n <= 100000。

0 <= x <= 9。

输入: n = 101, x = 0。

输出: true。

解释:

该数字在下标 1 处包含数字 0。它不以 0 开头,因此满足两个条件。所以,答案是 true。

题目来自力扣3908。

详细描述执行过程:

  1. 1.函数入口与变量初始化
    函数validDigit接收两个参数:整数n(待判断的数字)和整数x(目标数字)。
    内部定义布尔变量hasX并初始化为false,它将用于标记在非最高位的其它十进制位中是否至少出现过一次数字x

  2. 2.剥离低位数字的循环
    进入for循环,循环条件是n >= 10。这一条件保证循环只处理仍有至少两位数字的情况,也就是每次都能剥离出当前的最低位,且剥离后剩下的部分至少还有一位(最终会成为最高位)。
    在每一次循环中:

  • • 计算n % 10,得到当前n最低位数字

  • • 将该低位数字与x比较:如果相等,就把hasX置为true。这意味着在非最高位中发现了一次目标数字。

  • • 执行n /= 10,丢弃已检查的最低位,把剩下的高位部分作为新的n,继续下一轮判断。
    这个循环不断“从右向左”扫描十进制位,直到剩余部分只剩下最高位一位数字(即n < 10)为止。

3.处理最高位并返回结果
循环结束时,变量n已经变成了原整数最高位的那一个数字(例如对于101,最终n = 1)。
此时,hasX已经记录了除最高位外是否出现过x
函数最后的返回语句是:

return hasX && n != x
它同时检查两个条件:
  • hasXtrue:表示在非最高位中,至少出现了一次数字x

  • n != x:表示最高位数字不等于x
    仅当两个条件都满足时,才认为n是“有效”的,返回true;否则返回false

4.具体示例的执行轨迹(n = 101, x = 0)

  • • 初始:n = 101hasX = false

  • • 第一次循环:n >= 10成立,n % 10 = 1≠ 0,hasX保持false;然后n = 101 / 10 = 10

  • • 第二次循环:n >= 10成立,n % 10 = 0==xhasX变为true;然后n = 10 / 10 = 1

  • • 循环条件检查:此时n = 1,不满足n >= 10,循环终止。

  • • 返回:hasXtruen (1) != x (0)成立,结果为true。这与题目解释一致。

5.边界情况覆盖

  • • 如果n是一位数(0~9),循环不会执行,hasX保持false,最终返回false。这符合题意,因为一位数要么没有其它位出现x,要么本身既是最高位又是唯一出现x的位(最高位等于x),必然不满足两个条件。

  • • 如果x只出现在最高位(例如n = 101, x = 1),那么循环中hasXfalse(其它位没有 1),最终返回false,符合“最高位不是 x”的要求。

  • • 如果n = 0, x = 0,循环不执行,hasXfalsen为 0,返回false,也正确,因为最高位是 0 且没有其它位出现 0。

时间复杂度分析
循环的执行次数等于整数n的十进制位数减 1(即去掉最高位后的位数)。设n的位数为dd = ⌊log₁₀ n⌋ + 1n > 0)。循环执行d - 1次,时间复杂度为O(d),也可以表示为O(log₁₀ n)
由于题目中n最大为100000(6 位数),实际循环次数不超过 5 次,可以视作常数时间O(1)

额外空间复杂度分析
函数内部只使用了固定数量的基础变量(hasX布尔变量、循环中的临时值),不分配任何与输入规模相关的额外内存。因此,总额外空间复杂度为O(1)

Go完整代码如下:

package main

import (
"fmt"
)

func validDigit(n, x int) bool {
hasX := false
for ; n >= 10; n /= 10 {
if n%10 == x {
hasX = true
}
}
return hasX && n != x
}

func main() {
n := 101
x := 0
result := validDigit(n, x)
fmt.Println(result)
}

Python完整代码如下:

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

def valid_digit(n: int, x: int) -> bool:
has_x = False
while n >= 10:
if n % 10 == x:
has_x = True
n //= 10
return has_x and n != x

def main():
n = 101
x = 0
result = valid_digit(n, x)
print(result)

if __name__ == "__main__":
main()

C++完整代码如下:

  

using namespace std;

bool validDigit(int n, int x) {
bool hasX = false;
while (n >= 10) {
if (n % 10 == x) {
hasX = true;
}
n /= 10;
}
return hasX && (n != x);
}

int main() {
int n = 101;
int x = 0;
bool result = validDigit(n, x);
cout << boolalpha << result << 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.

相关推荐
热点推荐
去医院别傻坐干等叫号!老护士私下说3个窍门再也不会白熬一下午

去医院别傻坐干等叫号!老护士私下说3个窍门再也不会白熬一下午

荷兰豆爱健康
2026-08-07 00:39:06
泰国辱华事件升级!群殴中国乘客只冰山一角,官媒发声,麻烦大了

泰国辱华事件升级!群殴中国乘客只冰山一角,官媒发声,麻烦大了

古史青云啊
2026-08-07 11:47:01
科贝:皇马今夏不再补中场,穆帅让B席主力踢中场

科贝:皇马今夏不再补中场,穆帅让B席主力踢中场

懂球帝
2026-08-07 23:56:08
韩艺菲673分、韩艺萌673分,被同一大学、同专业录取

韩艺菲673分、韩艺萌673分,被同一大学、同专业录取

南方都市报
2026-08-07 18:04:17
北京电网负荷首次突破3000万千瓦

北京电网负荷首次突破3000万千瓦

财联社
2026-08-07 18:06:01
Lisa线下活动像纸片人,粉丝狂夸这种畸形审美,直言Lisa好薄一片

Lisa线下活动像纸片人,粉丝狂夸这种畸形审美,直言Lisa好薄一片

芊手若
2026-08-05 17:18:46
从善如流?鸿蒙智行删除竹知了公告

从善如流?鸿蒙智行删除竹知了公告

三言科技
2026-08-07 11:23:44
“20年前捡的女儿,用绝食逼我买苹果手机”,网友:这面相不简单

“20年前捡的女儿,用绝食逼我买苹果手机”,网友:这面相不简单

妍妍教育日记
2026-07-21 11:50:07
英格兰测试队长易主:为保2027世界杯,弃26岁布鲁克,鲁特回归

英格兰测试队长易主:为保2027世界杯,弃26岁布鲁克,鲁特回归

竞技风云录
2026-08-06 22:08:33
暗黑心理学:一个男人可以花钱去嫖一个长期卖淫的女人,却始终不肯原谅出轨悔罪回家的老婆。这是怎么回事呢?

暗黑心理学:一个男人可以花钱去嫖一个长期卖淫的女人,却始终不肯原谅出轨悔罪回家的老婆。这是怎么回事呢?

心理观察局
2026-06-17 06:38:26
郭晶晶一家逛街被偶遇!霍启刚瘦成纸片人,9岁女儿边走路边学习

郭晶晶一家逛街被偶遇!霍启刚瘦成纸片人,9岁女儿边走路边学习

白面书誏
2026-08-07 20:21:18
在位32年,没杀一个功臣

在位32年,没杀一个功臣

最爱历史
2026-08-05 16:36:44
为什么说美军在亚太的算盘要重新算了

为什么说美军在亚太的算盘要重新算了

海格看世界
2026-08-07 09:41:12
余承东:鸿蒙智行全系交付168万辆,至今保持电池零燃烧事故记录

余承东:鸿蒙智行全系交付168万辆,至今保持电池零燃烧事故记录

映射生活的身影
2026-08-06 08:53:46
国家终于出手!住建部官宣:全国大范围整治物业乱象!

国家终于出手!住建部官宣:全国大范围整治物业乱象!

职场资深秘书
2026-08-06 19:41:16
当年卷走张靓颖全部身家的冯轲去哪了?时隔多年二人境遇差距太大

当年卷走张靓颖全部身家的冯轲去哪了?时隔多年二人境遇差距太大

小椰的奶奶
2026-08-07 14:19:49
西安赛格坠亡大结局!新华社通报调查真相,终于还死者一个公道了

西安赛格坠亡大结局!新华社通报调查真相,终于还死者一个公道了

小鋭有话说
2026-08-06 11:06:49
英国游客组团游我国,一出机场就急了:电视里的中国竟然是假的

英国游客组团游我国,一出机场就急了:电视里的中国竟然是假的

麦子情感故事
2026-08-07 17:39:16
刘翔独特的烦恼:去年耐克千万代言费还没花完,今年就又到账了

刘翔独特的烦恼:去年耐克千万代言费还没花完,今年就又到账了

讯崽侃天下
2026-07-30 11:16:13
1.4亿欧皇马标王!迪奥曼德,凭啥这么贵?

1.4亿欧皇马标王!迪奥曼德,凭啥这么贵?

足球报
2026-08-07 14:08:14
2026-08-08 00:24:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1378文章数 78关注度
往期回顾 全部

科技要闻

突然涨价,"只收电费钱"的梁文锋,变了吗

头条要闻

穆杰塔巴被指给总统下"最后警告" 爆料人发声意味深长

头条要闻

穆杰塔巴被指给总统下"最后警告" 爆料人发声意味深长

体育要闻

去年信誓旦旦3000万 今年NBA查无此人

娱乐要闻

周也热恋结束,六个字暴露单身状态

财经要闻

腾讯WorkBuddy领跑AI办公 阿里字节急了?

汽车要闻

越7全球首秀 传祺开始进攻方盒子越野

态度原创

房产
旅游
手机
公开课
军事航空

房产要闻

单日狂卖35亿!两大央企重仓,三亚土拍又爆了!

旅游要闻

焕新开园!深圳园博园多国主题花园免费开放,解锁园林新经济

手机要闻

消息称苹果正在测试iOS 26.6.1系统

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

乌防空导弹严重短缺 泽连斯基公开喊话

无障碍浏览 进入关怀版