ARTS Week 32

Algorithm 本周的算法题为 1512. 好数对的数目 给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。 返回好数对的数目。 示例 1: 输入:nums = [1,2,3,1,1,3] 输出:4 解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始 实现代码如下: const numIdenticalPairs = function (nums) { let count = 0 for (let i = 0; i < nums.length; i++) { for (let j = 0; j < nums.length; j++) { if (nums[i] == nums[j] && i < j) { count += 1 } } } return count }; 解题思路: 题目相对简单,使用for遍历两次,加上条件判断,累计出现好书对次数即可。 Review UK leader wants national service for 18-year-olds - Breaking News English Lesson 英国首相里希·苏纳克计划为18岁年轻人引入国民服役制度,如果他所在的党派在7月4日的英国大选中获胜,他将推行强制国民服役。根据他的计划,年轻人满18岁时将有两个选择:一是花一年时间在陆军、海军或空军服役,政府预计约有3万人会选择这一选项;二是每月一个周末从事志愿工作,比如为英国的国民卫生服务体系、急救服务、消防服务或地方社区提供服务。苏纳克表示,这将帮助年轻人获得宝贵技能,并有助于“建设更强大的国家文化”。 然而,苏纳克的计划遭到了许多人的批评。各种专家表示,该计划成本过高,且英国没有足够的人员来培训3万名军队志愿者。许多国防专家认为这一想法不切实际。前海军司令艾伦·韦斯特表示,虽然他对更多年轻人意识到国防的重要性感到高兴,但这一想法是“荒谬的”。他认为政府需要增加国防开支,而国民服役制度将“榨取”国防资金。许多年轻人也不同意这一计划,认为它剥夺了他们的自由。然而,一名17岁的年轻人表示,这将给许多年轻人带来目标,并指出国民服役制度在数十个国家都运作良好。 Tip 升级 package.json 中全部依赖包到最新版本 在 Vue 项目 package.json 中,要将全部依赖包升级至最新版本,可以使用工具 npm-check-updates 实现,如下所示: 全局安装 npm install -g npm-check-updates 或者,npx安装 npx npm-check-updates 检查并显示最新版本 ncu -u 重新安装 ...

2024-06-15 · 1 分钟 · 141 字

关于陈皓,我的一些感受

去年差不多这个时候,听闻陈皓突然逝世,很是震惊。 第一次知道陈皓这个名字,是在极客时间上面,因为购买了《左耳听风》课程,所以知道这个人。这个课程基本涵盖了陈皓个人网站上面的精华博文,因为很多涉及后端方面的内容,所以我并没有全部看完,只是看了技术基础、程序员练级攻略、程序员面试攻略、高效学习、高效沟通这几块内容,可以说干货满满,很受启发。并且,每次重温,都会有不同的体会。 当时购买课程之后,可以加群的,即陈皓发起的ARTS活动,自己也申请入群,不知道为什么,没有入群成功,也就没太在意。想要打卡这个活动,又觉得有点难,很怕自己坚持不下来,所以就不了了之了。 后来,听说他要和我所在的部门合作一些项目,觉得很巧,很有意思。 只是去年他过来开会,沟通项目的业务,当时他就在一楼,本来想着去见一面,能请教一下问题,但是因为是后端相关的会议,加上觉得这样不太合适,所以就没下去。 没想到过了两个多月他就因为心梗突然过世了,真是人生无常。当时看到百度热搜里那条过世的消息,心里蛮不是滋味的。 陈皓自己个人网站,酷壳上面好几篇博文都很不错,也是上面课程的内容: 《谈谈我的“三观”》 - 第一步要努力实现自我价值,第二步要全力照顾好家人,第三步要尽可能帮助善良的人,第四步为族群发声,第五步为国家争荣誉。事实上作为男人,前两步成功,人生已算得上圆满,做到第三步堪称伟大,而随意颠倒次序的那些人,一般不值得信任。修身齐家治国平天下。穷则独善其身,达则兼济天下。 《程序员技术练级攻略》 - 有时候我们需要更多的是抬起头来看看技术以外的事情,或者是说我们在作技术的时候不去思考为什么会有这个技术,为什么不是别的,问题不在于技术,问题在于我们死读书,读死书,成了技术的书呆子。 《如何超过大多数人》 - 要超过别人其实还是比较简单的,尤其在今天的中国,更是简单。因为,你只看看中国的互联网,你就会发现,他们基本上全部都是在消费大众,让大众变得更为地愚蠢和傻瓜。所以,在今天的中国,你基本上不用做什么,只需要不使用中国互联网,你就很自然地超过大多数人了。 《技术人员的发展之路》 - 能够去规划自己的个人发展的人,通常都是有很多机会和可能性的人;有很多机会和可能性的人,通常都是有Leadership,喜欢冒险的人;有Leadership喜欢冒险的人,通常都是学习能力强,思维活跃,喜欢折腾,懂得“投资”的人;学习能力强思维活跃的人,通常来说,都是喜欢看书,喜欢实践和新鲜事物,不怕艰难和挑战,用智力而不是使蛮力的人;懂得“投资”的人,通常来说,他们更多的关注的是未来和长远的成长,而不是当下的KPI、奖金和晋升。 《程序员如何把控自己的职业》- 如果你想更好的把握时代,提升自己,你需要知道这个时代的趋势是什么,需要什么样的人,这些人需要什么样的能力,这些能力是怎么获得的,投入到基础知识的学习就像“基建”一样,如果基础不好,不能长高,学习能力也是需要适应这个快速时代的重要的基础能力,没有好的学习能力,很快就会掉队被淘汰。 从去年10月份开始,我突然萌生要打卡这个ARTS活动的想法,起初只是觉得我应该做这个事情,因为上班能敲代码的时间基本都没有了,只能下班回来找一点事情做,不让自己脱离代码太久了。我也并没有打算,能从ARTS打卡活动中,一定有所收获,但正是这种很坦然的心态,反而促使我坚持到了现在,而且在这过程之中,我从未有任何心理压力。 说句题外话,陈皓老师真的看起来有点虚胖,健康状态真的不是很好。所以我们还是要多注意身体,不要熬夜,坚持运动,饮食有度,毕竟身体是革命的本钱,是好几个0前面的1,没有1,后面再多的0都是徒然。我也是一样,每天要去健身房,然后,不要熬夜了。但一直以来都太忙了,其他都能坚持下来,就是熬夜总是戒不掉,争取再努力,调整回来吧。最后以陈皓老师的座右铭结尾吧,与诸君共勉: “芝兰生于深谷,不以无人而不芳,君子修身养德,不以穷困而改志。”

2024-05-23 · 1 分钟 · 24 字

ARTS Week 52

Algorithm 本周的算法题为 1805. 字符串中不同整数的数目 给你一个字符串 word ,该字符串由数字和小写英文字母组成。 请你用空格替换每个不是数字的字符。例如,"a123bc34d8ef34" 将会变成 " 123 34 8 34" 。注意,剩下的这些整数为(相邻彼此至少有一个空格隔开):"123"、"34"、"8" 和 "34" 。 返回对 word 完成替换后形成的 不同 整数的数目。 只有当两个整数的 不含前导零 的十进制表示不同, 才认为这两个整数也不同。 示例 1: 输入:word = "a123bc34d8ef34" 输出:3 解释:不同的整数有 "123"、"34" 和 "8" 。注意,"34" 只计数一次。 实现代码如下: const numDifferentIntegers = function (word) { // 1. 匹配所有的数字,返回一个数组,每个元素是一个数字字符串 const nums = word.match(/\d+/g); // 2. 如果没有匹配到数字,返回0 if (nums === null) { return 0; } // 3. 去掉前导0,返回一个新的数组,每个元素是一个数字字符串 nums.forEach((n, i) => { nums[i] = n.replace(/^0+/, ''); }); // 4. 用Set去重 const set = new Set(nums); // 去重 // 5. 返回Set的大小 return set.size; }; 解题思路: 匹配所有的数字,返回一个数组,每个元素是一个数字字符串。 如果没有匹配到数字,返回0。 去掉前导0,返回一个新的数组,每个元素是一个数字字符串。 用Set去重。 使用 set.size 返回大小,即为所求的值。 Review Scientists find why most ginger cats are male - Breaking News English Lesson ...

2024-05-22 · 1 分钟 · 137 字

ARTS Week 31

Algorithm 本周的算法题为 1556. 千位分隔数 给你一个整数 n,请你每隔三位添加点(即 “.” 符号)作为千位分隔符,并将结果以字符串格式返回。 示例 1: 输入:n = 123456789 输出:"123.456.789" 实现代码如下: const thousandSeparator = function (n) { const str = String(n) let result = '' for (let i = str.length - 1; i >= 0; i--) { let s = str[i]; if ((str.length - i) % 3 == 0 && i !== str.length - 1 && i !== 0) { s = '.' + s } result = s + result } return result }; 解题思路: 因为是千位分隔数,所以使用倒序遍历,然后通过找规律,如下所示: //index 0 123 const str = "1.234" //index 012 345 678 const str = "123.456.789" 从以上可知,str.length - i 的值得出为3、3和6,都是3的倍数,所以可以使用(str.length - i) % 3 == 0来找到要插入.的位置,加上当最后一位和第一位时不需要加上.,然后通过result依次拼接字符串,得到所求结果值。 题外话:最近总算把ARTS之前落下的进度赶上来了。好几次看着前面要补4篇左右,心里还是有点虚啊,但是从来没有要放弃,就觉得慢慢补回来就好了,不需要做任何心理建设,然后就补回来了。还是按正常节奏,每周完成一篇比较好。 Review Seafood could have higher levels of ‘forever chemicals’ - Breaking News English Lesson 一项新研究指出,海鲜中可能存在更高水平的“永久化学物质”。永久化学物质是人造毒素,不会分解。它们可以停留在人体血液中,导致各种健康问题,包括癌症、肾脏和肝脏问题、激素变化以及对胎儿发育的损害。来自美国达特茅斯学院的研究人员表示,应该为海鲜中的永久化学物质制定安全指南。他们说,这些毒素的水平在虾、明虾和龙虾等海洋生物中最高。这可能意味着喜欢寿司、生鱼片和虾仁鸡尾酒的人可能需要重新考虑他们的饮食习惯,减少一些海鲜的摄入量。 永久化学物质在20世纪30年代被开发出来。从20世纪50年代以来,它们被用于制造许多产品。它们通常存在于食品包装中。我们大部分的食品包装纸、外卖盒、比萨盒和其他食品容器都含有这些化学物质。几十年来,这些化学物质已经进入了我们的食物链。研究人员表示,海鲜中的永久化学物质水平较高。梅根·罗曼诺教授表示,她希望人们继续享用海鲜,但要意识到风险。她说:“我们的建议不是不吃海鲜。海鲜是蛋白质和欧米茄脂肪酸的重要来源。”她补充说,让人们更多地了解我们所吃食物的成分是很重要的。 Tip git pull放弃本地修改,强制更新。 ...

2024-05-20 · 1 分钟 · 153 字

ARTS Week 30

Algorithm 本周的算法题为 747. 至少是其他数字两倍的最大数 给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。 请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。 示例 1: 输入:nums = [3,6,1,0] 输出:1 解释:6 是最大的整数,对于数组中的其他整数,6 至少是数组中其他元素的两倍。6 的下标是 1 ,所以返回 1 。 实现代码如下: const dominantIndex = function (nums) { const sortedNums = nums.toSorted((a, b) => a - b); if (sortedNums[sortedNums.length - 1] >= sortedNums[sortedNums.length - 2] * 2) { return nums.indexOf(sortedNums[sortedNums.length - 1]); } else { return -1; } } 解题思路: 先将数字从小到大排序,生成新数组; 然后获取最后一位,如果大于等于倒数第二位的数值乘以2,则表示存在满足条件的最大整数,否则返回-1; 通过indexOf在原nums数组中获取最大整数下标。 Review Rising auto insurance premiums fuelling inflation - Breaking News English Lesson 汽车保险费的飙升正在加剧美国的通货膨胀压力,成本以最快的速度上涨。仅在3月份,保险费就上涨了2.6%,这意味着成本比去年同期高出了22.2%。这些涨价导致了上个月通货膨胀率上升了0.4%。除汽车保险外,其他任何消费类别都没有像它一样飙升。Foxbusiness.com表示,美国汽车保险的平均费用已经超过每年2300美元,约合每月192美元。不断上涨的价格对最低收入者影响最大。对于那些在生活成本危机中努力维持生计的人来说,保险正成为一种更大的经济负担。 汽车分析师肖恩·塔克试图解释价格上涨背后的原因。他说:“我认为最大的因素是新车和它们越来越贵,所以如果你撞坏了你的车,替换成本非常高,而且现在小事故的费用也很昂贵。”他将现代汽车中的技术、小工具和安全设备的复杂性归因于更昂贵的修理和更换成本。更换电动汽车电池的费用可能在6500美元到2万美元以上。一个简单的刮擦可能会损坏昂贵的嵌入式传感器、摄像头和声纳。推动劳动力成本上升的一个因素是汽车技工的短缺。 Tip git命令窗口样式美化 用了N年的东西,一直没有关注样式问题,只觉得还行,但是最近安装nvm,发现一下字体看不清,就看下怎么设置样式,才发现这个可以右键Options然后进行设置,除了字体颜色、背景色,还有主题可选,但是试用了一下,不够美观,如下所示: 在网上查了一下,发现这个样式还不错。Git Bash界面的美化(一看必会)_git bash美化-CSDN博客,配置流程就是修改.minttyrc文件,位置在C:\Users\weihao,将里面的使用#注释,然后复制样式覆盖即可。 Share

2024-05-19 · 1 分钟 · 94 字