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

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

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

问题描述

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

这条街一共有 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

相关推荐
zhougl99612 分钟前
html处理Base文件流
linux·前端·html
花花鱼15 分钟前
node-modules-inspector 可视化node_modules
前端·javascript·vue.js
HBR666_18 分钟前
marked库(高效将 Markdown 转换为 HTML 的利器)
前端·markdown
想跑步的小弱鸡1 小时前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
careybobo2 小时前
海康摄像头通过Web插件进行预览播放和控制
前端
TDengine (老段)2 小时前
TDengine 中的关联查询
大数据·javascript·网络·物联网·时序数据库·tdengine·iotdb
xyliiiiiL3 小时前
ZGC初步了解
java·jvm·算法
杉之3 小时前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
喝拿铁写前端3 小时前
字段聚类,到底有什么用?——从系统混乱到结构认知的第一步
前端
爱的叹息3 小时前
RedisTemplate 的 6 个可配置序列化器属性对比
算法·哈希算法