尧图网络 高端网站定制 · 原创设计
免费咨询热线
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/7/28 3:39:12
边缘计算与AI Agent融合:低延迟智能决策实践

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

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

📅 2026/7/28 8:53:07
UCD9090A GPIO功能全景解析:从电源管理到系统级协同设计

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

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

📅 2026/9/9 0:26:29
MORE NEWS

更多资讯

📰

ArduPilot 硬件移植实战:PixPilot-C3 飞控板完整配置指南(STM32F427 双 IMU 架构)

ArduPilot 硬件移植实战:PixPilot-C3 飞控板完整配置指南(STM32F427 双 IMU 架构) 【免费下载链接】ardupilot ArduPlane, ArduCopter, ArduRover, ArduSub source 项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot 导读 …

📰

LCD1602显示进阶:DDRAM地址映射、光标定位与局部滚屏实战

我第一次用LCD1602调东西的时候,犯过一个特别蠢的错误——第二行数据显示在第14列之后的所有内容,全部跑到屏幕右边去了。当时以为是排线接触不良,换了一块屏,还是这样。查了半晚上才发现,不是我代码写错了&#xff0c…

📰

JSP+Servlet+JDBC学生管理系统:从登录到增删改查的JavaWeb实战解析

简介:一份基于JavaWeb的学生信息管理系统完整源码与数据库文件,适合Java初学者和高校学生用于课程设计或毕业设计参考,覆盖学生信息录入、查询、修改、删除等常见管理功能。压缩包共44个文件,约322KB,包含JSP动态页面、…

📰

Effect 平台在 Deno 上启用 HTTP 客户端:DenoHttpClient 与 fetch 架构解析

Effect 平台在 Deno 上启用 HTTP 客户端:DenoHttpClient 与 fetch 架构解析 【免费下载链接】effect Build production-ready applications in TypeScript 项目地址: https://gitcode.com/GitHub_Trending/ef/effect 导读 本文围绕 effect/platform-deno 包…

📰

NS2网络仿真环境搭建与trace文件解析实战指南

简介:本资源是一套面向网络仿真初学者与教学实践者的NS2代码学习包,聚焦TCP/IP协议模拟、路由算法实现、拥塞控制机制、移动性建模及OOPSI扩展开发等核心知识点,助力读者从零掌握NS2事件驱动模拟原理与Tcl/C协同编程方法。压缩包共28个文件&a…

📰

RubyGems遭遇AI智能体集群投毒:供应链攻击取证与防御复盘

最近我们团队在处理一批 RubyGems 上的异常包时,彻底体验了一把什么叫“AI 打供应链”。事情并不复杂:一夜之间,RubyGems 上冒出了几百个看起来高度相似、命名风格统一、发布频率极高的小型 gem 包。一开始我们以为是某个开发者误传了批量脚本…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬