Algorithm 算法
思路1:通过递归计算,但当数值大时重复计算过多容易超时;
function climbStairs(n: number): number {
if (n <= 2) return n;
return climbStairs(n - 1) + climbStairs(n - 2);
};
思路2:爬到第n层楼梯,可以从第n-1层爬一阶楼梯或者从第n-2层爬两阶楼梯,即
f(n) = f(n-1) + f(n-2),也就是斐波那契数列
function climbStairs(n: number): number {
if (n <= 2) return n;
const temp: number[] = [1, 2];
for (let i = 2; i < n; i++) {
temp[i] = temp[i - 1] + temp[i - 2];
}
return temp[n - 1];
};
循环判断当前值与下一项的值,判断是否跳过
function deleteDuplicates(head: ListNode | null): ListNode | null {
let cur = head
while(cur && cur.next !== null) {
if(cur.val === cur.next.val) {
cur.next = cur.next.next;
} else {
cur = cur.next;
}
}
return head;
};
Review 英文阅读
Article:
Review:
编写代码时出现错误是很常见的,错误可能由语法或者逻辑造成。如何识别错误、找到解决方案是开发中必要的能力,通过这篇文章可以学习到如何通过浏览器调试工具,来定位问题并修复它们。 文章提到了两种调试方式:
debugger和console.log(); 相较于console.log,断点debugger更方便我们在代码执行流程中查看上下文、执行值检查等操作。
Tip 技术技巧
使用待办清单,从容处理工作
我们的大脑结果更像是单核单线程处理器,一次只能处理一个任务,当遇到多任务处理时,给自己列一份清单,按照优先级调整执行顺序。同时配合番茄时钟,将复杂任务拆解为25分钟的一个的番茄钟,搭配休息时间,保障高效执行。
同时在清单列表上可以记录每日沟通、会议等其他事务,帮助自己合理分配时间。
对清单完成内容进行勾选,方便日报周报输出,减少工作压力。
Share 分享
- 英文阅读素材:100字故事
学习英语时,需要阅读来提升,太长文章读不下去,这里都是100字左右的英语短文,简短有趣,可以作为每日的英语学习素材。
可以配合 AI 对话工具,或者沉浸式翻译进行学习:)