尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
2026-07-25:统计数字出现总次数。用go语言,给定一个整数数组 nums 和一个数码 digit(0~9),请你计算:把数组里每个整数都写成十进制形式后,数码 digit 在这些十进制表示中一
2026-07-25统计数字出现总次数。用go语言给定一个整数数组 nums 和一个数码 digit0~9请你计算把数组里每个整数都写成十进制形式后数码 digit 在这些十进制表示中一共出现了多少次并返回这个总次数。1 nums.length 1000。1 nums[i] 1000000。0 digit 9。输入 nums [12,54,32,22], digit 2。输出 4。解释数字 2 在 12 和 32 中出现一次在 22 中出现两次。因此数字 2 出现的总次数为 4。题目来自力扣3895。我们逐步骤拆解这个算法的执行过程并分析复杂度。分步骤执行过程初始化计数器创建一个整数变量ans初始值设为0用于累计数码digit在所有数字中出现的总次数。遍历数组中的每个整数从数组的第一个元素开始依次取出每一个整数x。每处理完一个整数就继续下一个直到数组中所有整数都被处理过。逐位检查当前整数对于当前整数x只要它大于0就重复执行以下子步骤相当于从个位开始一位一位地“剥离”十进制位取个位数字计算x % 10得到当前整数的最后一位十进制数字。比较并计数判断这个个位数字是否等于给定的digit。如果相等就把计数器ans加1否则不操作。去掉已检查的个位将x更新为x / 10整数除法向下取整。这相当于删除了十进制表示的最后一位让原来的十位变成新的个位为下一轮检查做准备。结束当前整数的检查当x不断除以 10 最终变为0时说明这个整数的所有十进制位都已经检查完毕内层循环终止算法回到第 2 步处理数组中的下一个整数。返回结果数组中所有整数都按上述方式处理完后计数器ans中记录的就是数码digit在全部数字的十进制表示中出现的总次数函数返回该值。复杂度分析总时间复杂度设数组长度为n数组中数字的最大值为M本题M 1,000,000。每个数字最多有⌊log₁₀M⌋ 1 7位因此内层循环对每个数字最多执行 7 次取余和除法操作。总操作次数约为7 × n与n成线性关系所以时间复杂度为O(n)。总的额外空间复杂度算法只使用了固定数量的变量如计数器ans、循环变量x等它们占用的空间不随输入规模n或数字大小增长。因此额外空间复杂度为O(1)。Go完整代码如下packagemainimport(fmt)funccountDigitOccurrences(nums[]int,digitint)(ansint){for_,x:rangenums{for;x0;x/10{ifx%10digit{ans}}}return}funcmain(){nums:[]int{12,54,32,22}digit:2result:countDigitOccurrences(nums,digit)fmt.Println(result)}Python完整代码如下# -*-coding:utf-8-*-defcount_digit_occurrences(nums,digit):ans0forxinnums:whilex0:ifx%10digit:ans1x//10returnansdefmain():nums[12,54,32,22]digit2resultcount_digit_occurrences(nums,digit)print(result)if__name____main__:main()C完整代码如下#includeiostream#includevectorintcountDigitOccurrences(conststd::vectorintnums,intdigit){intans0;for(intx:nums){while(x0){if(x%10digit){ans;}x/10;}}returnans;}intmain(){std::vectorintnums{12,54,32,22};intdigit2;intresultcountDigitOccurrences(nums,digit);std::coutresultstd::endl;return0;}
RELATED

相关推荐

NVIDIA Rubin平台:六芯协同AI计算架构解析

NVIDIA Rubin平台:六芯协同AI计算架构解析

1. 项目概述:Rubin平台的战略定位与技术野心在2024年CES展会上,NVIDIA揭晓了其下一代AI计算平台Rubin的完整技术架构。这个以著名天文学家命名的平台,标志着GPU巨头在AI加速领域的又一次重大技术跃迁。与当前主流的Hopper架构相比&#xff0c…

📅 2026/9/15 2:06:10
边缘计算与AI Agent融合:低延迟智能决策实践

边缘计算与AI Agent融合:低延迟智能决策实践

1. 边缘计算与AI Agent的融合趋势当我们在手机上使用语音助手时,那个"稍等,正在处理"的提示总是让人不耐烦。这种延迟不仅影响体验,在工业控制、自动驾驶等场景下更可能造成严重后果。这正是边缘计算与AI Agent结合要解决的核心痛点…

📅 2026/10/9 4:55:29
UCD9090A GPIO功能全景解析:从电源管理到系统级协同设计

UCD9090A GPIO功能全景解析:从电源管理到系统级协同设计

1. UCD9090A GPIO功能全景与设计哲学在服务器主板、高端通信设备或者任何对供电时序和可靠性有苛刻要求的系统中,电源管理单元(PMU)的角色早已超越了简单的“上电”和“断电”。它更像一个系统级的“能源管家”,需要实时监控每一路…

📅 2026/9/15 2:07:18
MORE NEWS

更多资讯

📰

泰兴考电工证哪里快真实经历揭秘学历不高也能轻松报上名

泰兴考电工证哪里快真实经历揭秘学历不高也能轻松报上名 学历不高怕报不上名?我一个开封应届工程类毕业生的真实经历告诉你,泰兴考电工证哪里快,完全不靠文凭,靠的是方法和渠道。今天就带你看看我怎么在泰兴顺利考下低压电工证的全过程,帮你避坑。…

📰

荆门考电工证流程图怎么走?官方报名入口你一定要知道

荆门考电工证流程图怎么走?官方报名入口你一定要知道 怕考不过白交培训费?别慌,搞懂【荆门考电工证流程图】和【官方报名入口】,你就能少走弯路,省下冤枉钱。…

📰

电工证要被取消了吗电子证书还能用吗

电工证要被取消了吗电子证书还能用吗 你是不是也担心,自己辛辛苦苦考的电工证,是不是哪天就被取消了?特别是 学历不高怕报不上名 的朋友们,更怕这证一取消,之前的努力全白费。别慌,咱们今天就来聊清楚: 电工证要被取消了吗?电子证书还能不能用?…

📰

汕尾电工证在哪里培训官方报名入口全攻略

汕尾电工证在哪里培训官方报名入口全攻略 工地太忙根本没时间复习考试,这是很多一线电工的共同困扰。特别是在汕尾,建筑工地多、项目紧,考证复习时间少得可怜。如果你正准备报考 汕尾电工证…

📰

荆门考电工证流程图怎么考,真实经历告诉你怎么不挂科

荆门考电工证流程图怎么考,真实经历告诉你怎么不挂科 实操考试心里没底怕挂科?我身边好几个同事都是因为实操环节没通过,耽误了项目进度。今天咱们就聊聊【荆门考电工证流程图】,结合我自己的真实经历,把整个流程拆解得明明白白,帮你少走弯路。…

📰

忻州报考低压电工证过期了怎么办?上岗必备的复审流程全解析

忻州报考低压电工证过期了怎么办?上岗必备的复审流程全解析 证书过期了不知道怎么复审延期?别慌,这是很多忻州低压电工从业者遇到的头号难题。特别是像你这种在市政工程、建筑工地、厂区电力系统一线作业的电工,低压电工证一旦失效,不仅影响工作安排,还…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬