ARTS_16

99 阅读2分钟

什么是 ARTS?

  1. 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习
  2. 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平
  3. 技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点
  4. 分享(Share):分析一篇有观点和思考的技术文章,建立影响力,输出价值观

时间周期

2022 年 10 月 10 日至 10 月 16 日

一:算法:

打印出 1 - 10000 之间的所有对称数,例如:121、1331 等

前置知识 思路: 第一反应是循环 10000 个数字,通过比较来筛选所有对称的数字,但是这是算法题,怎么可能这么蠢,可以使用另一种方式来解决,利用对称数 以 10000 为例,列出所有位数的对称数,比如 1 位数的对称数,2 位数的对称数,一直到 5 位数 对称数生成:遍历最长位数(如 5 位)。每个位置遍历 0-9,对称即可

function getSymmetryNum () {
  let result = []
  for (let i = 1; i < 10; i++) {
    // 两位数的对称数
    result.push(i * 11)
    for (let j = 0; j < 10; j++) {
      // 三位数的对称数
      result.push(i * 101 + j * 10)
      result.push(i * 1001 + j * 110)
    }
  }

  console.log('result is ===>>>', result)
}

二:阅读

中文:《长安的荔枝》 推荐理由: 一骑红尘妃子笑,无人知是荔枝来。这是表 具体怎么做的,这是里。 有些东西,是不会变的,今天还在发生着

英文: Avoid Spaghetti Code with Scope Minimization | Massimo Nazaria

三:技巧

《如何对付垃圾邮件发送者》 分享理由:

  1. 不算一个程序员技巧,只是感觉很好玩,哈哈,以其人之道,还之其人之身

四:分享

如果电发多了 那多余的电去哪了?-国际电力网 分享理由:

  1. 我好奇过这个问题,只是没有深入思考,这篇文章给了简单的一个思路,生活中好多这种问题,挺适合思考的