Algorithm 算法
- [21] 合并两个有序链表
通过递归的方式,比较两个链表当前值的大小
function mergeTwoLists(list1: ListNode | null, list2: ListNode | null): ListNode | null {
let res: ListNode | null = null;
if (list1 === null) {
return list2;
}
if (list2 === null) {
return list1;
}
if (list1.val < list2.val) {
res = list1;
res.next = mergeTwoLists(list1.next, list2);
} else {
res = list2;
res.next = mergeTwoLists(list1, list2.next);
}
return res;
};
- [26] 删除有序数组中的重复项
通过循环比对,将不重复的数字挪动到前部,记录最后一个不重复数字的位置,+1 即为结果
function removeDuplicates(nums: number[]): number {
let i = 0;
for (let j = 1; j < nums.length; j++) {
if (nums[i] !== nums[j]) {
i++;
nums[i] = nums[j];
}
}
return i + 1;
};
Review 英文阅读
Article:
Review:
如何像“写情书”一样写代码?
- 代码编写遵循 模式(Patterns)和原则(Principles),solid、DRY、KISS、YAGNI;
- 遵循最佳实践(Best Practices);
- 拥抱测试(Embracing Tests),采取严格测试或者TDD实践;
- 保持同理心和尊重(Empathy and Respect),保持代码的可读性、可理解、可维护,是对后来的编码人员的尊重;
- 好的代码不仅仅是一封情书,更是我们留给追随者的永久遗产。(“Good code, therefore, is not just a love letter, but it is our lasting legacy to those who follow us.”)
Tip 技术技巧
如何使用claude.ai
辅助学习?
创建一个对话bot,然后输入一个指令
如果没有特殊描述,我给你中文句子帮我翻译成英语,给你英语翻译成中文
,就能得到一个称手好用的英语助手
类似的可以可以创建一个
阅读助手
Share 分享
分享两期播客,介绍两位Vue团队成员三咲智子、沈青川如何参与开源: