什么是 ARTS?
- 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习
- 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平
- 技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点
- 分享(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
三:技巧
《如何对付垃圾邮件发送者》 分享理由:
- 不算一个程序员技巧,只是感觉很好玩,哈哈,以其人之道,还之其人之身
四:分享
如果电发多了 那多余的电去哪了?-国际电力网 分享理由:
- 我好奇过这个问题,只是没有深入思考,这篇文章给了简单的一个思路,生活中好多这种问题,挺适合思考的