今日算法:蓝桥杯基础题之“门牌制作”

你好同学,我是沐爸,欢迎点赞、收藏、评论和关注!个人知乎

今日算法第二题,如何制作门牌号,一起看看吧。

问题描述

小蓝要为一条街的住户制作门牌号。

这条街一共有 2024 位住户,门牌号从 1 到 2024 编号。

小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。

请问要制作所有的 1 到 2024 号门牌,总共需要多少个字符 2?

JavaScript 题解代码

为了解决这个问题,我们可以编写一个JavaScript函数,该函数遍历从1到2024的所有数字,并计算每个数字中字符'2'出现的次数。然后,将所有数字中'2'的出现次数相加,得到最终结果。

下面是一个实现这个逻辑的JavaScript函数:

javascript 复制代码
function getTimes(maxNumber, n) {
  let count = 0;
  for (let i = 1; i <= maxNumber; i++) {
    // 将数字转换为字符串,以便逐个字符检查
    const str = i.toString();
    // 遍历字符串中的每个字符
    for (let j = 0; j < str.length; j++) {
      // 如果字符是'n',则增加计数器
      if (str[j] === n.toString()) {
        count++;
      }
    }
  }
  return count;
}

console.log(getTimes(2024, 2)); // 633

这个函数首先定义了一个计数器count,用于记录字符'2'的总数。然后,它使用一个for循环遍历从1到maxNumber(在这个例子中是2024)的所有数字。对于每个数字,它首先将其转换为字符串,然后遍历字符串中的每个字符。如果字符是'2',则增加计数器。最后,函数返回计数器的值,即所有数字中字符'2'的总数。

好了,分享结束,谢谢点赞,下期再见

参考:https://edu.csdn.net/skill/practice/algorithm-b7a24f3dc0894922b58174677d4a1e4a/2259?language=algorithm&materialId=19513

相关推荐
Felven1 分钟前
C. Prefix Min and Suffix Max
算法
加农炮手Jinx2 分钟前
LeetCode 26. Remove Duplicates from Sorted Array 题解
算法·leetcode·力扣
加农炮手Jinx2 分钟前
LeetCode 88. Merge Sorted Array 题解
算法·leetcode·力扣
格林威2 分钟前
线阵工业相机:如何计算线阵相机的行频(Line Rate)?公式+实例
开发语言·人工智能·数码相机·算法·计算机视觉·工业相机·线阵相机
yueyue5435 分钟前
透过现象看本质:以fast_lio架构的整套算法的局部避障改为TEB算法为例深度探讨——如何成为一个合格的算法架构师?
算法·架构
梨花爱跨境5 分钟前
红人视频×A10算法:亚马逊转化率与流量闭环实战
算法
木易 士心6 分钟前
为什么 Promise 比 setTimeout 先执行?——JavaScript 事件循环与异步顺序完全指南
开发语言·javascript·ecmascript
阿Y加油吧10 分钟前
二刷 LeetCode:75. 颜色分类 & 31. 下一个排列 复盘笔记
笔记·算法·leetcode
风筝在晴天搁浅11 分钟前
LeetCode 378.有序矩阵中第K小的元素
算法·矩阵
爱上好庆祝14 分钟前
学习js的第六天(js基础的结束)
开发语言·前端·javascript·学习·ecmascript