本文由 Deguang 发表于 码路 - 技术博客
什么是 ARTS 打卡?
Algorithm 算法
-
70. 爬楼梯
思路 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]; };
-
83. 删除排序链表中的反复元素
循环判断以后值与下一项的值,判断是否跳过
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:
Debugging in JavaScript – GeeksforGeeks
Review:
编写代码时呈现谬误是很常见的,谬误可能由语法或者逻辑造成。如何辨认谬误、找到解决方案是开发中必要的能力,通过这篇文章能够学习到如何通过浏览器调试工具,来定位问题并修复它们。
文章提到了两种调试形式:debugger
和console.log()
;
相较于console.log
,断点debugger
更不便咱们在代码执行流程中查看上下文、执行值查看等操作。
Tip 技术技巧
应用待办清单,从容解决工作
咱们的大脑后果更像是单核单线程处理器,一次只能解决一个工作,当遇到多任务处理时,给本人列一份清单,依照优先级调整执行程序。同时配合番茄时钟,将简单工作拆解为 25 分钟的一个的番茄钟,搭配休息时间,保障高效执行。
同时在清单列表上能够记录每日沟通、会议等其余事务,帮忙本人正当调配工夫。
对清单实现内容进行勾选,不便日报周报输入,缩小工作压力。
Share 分享
- 英文浏览素材:100 字故事
学习英语时,须要浏览来晋升,太长文章读不上来,这里都是 100 字左右的英语短文,简短乏味,能够作为每日的英语学习素材。
能够配合 AI 对话工具,或者沉迷式翻译进行学习:)