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 对话工具,或者沉浸式翻译进行学习:)