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

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

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

问题描述

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

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

相关推荐
hhhjhl1 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
康小汪1 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
智能运维指南2 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
一去不复返的通信er3 小时前
贪心算法-合并区间(LeetCode 56)
算法·leetcode·贪心算法
白山编程大哥3 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Shaoshing4 小时前
LeetCode100 49. 字母异位词分组
java·算法
YFJ_mily4 小时前
第二届区块链技术与基础模型国际学术会议(BTFM2027)
算法·区块链·能源·智能系统·rdlink研发家·机器人自动化
Flynt4 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
汤姆宝库5 小时前
收官深拆:第一性原理、产业电网与未来推演
大数据·人工智能·算法