作业说明

代码注释中有力扣链接. 部分代码有自动测试(主要是力扣上没有直接题目的和面试题),运行

npm install
npm run test

可以执行测试代码.

第一周

作业

  1. 循环队列, circular-queue.ts
  2. 双向循环队列, circular-deque.ts
  3. 双向队列, deque.ts
  4. 双向链表, double-linked-list.ts
  5. 链表, stack.ts
  6. 爬楼梯, clime-stairs.ts
  7. 盛最多水的容器, container-with-most-water.ts
  8. 柱状图中最大的矩形, largest-rectangle-in-histogram
  9. 环形链表,linked-list-cycle
  10. 环形链表 ii,linked-list-cycle-ii
  11. 合并两个有序数组, merge-two-sorted-array.ts
  12. 合并两个有序链表, merge-two-sorted-list.ts
  13. 最小栈, min-stack.ts
  14. 移动零, move-zeros.ts
  15. 加一, plus-one.ts
  16. 删除有序数组中的重复项, remove-duplicate-from-sorted-array
  17. 反转链表, reverse-linked-list.ts
  18. K 个一组翻转链表, reverse-nodes-in-k-group.ts
  19. 旋转数组, rotate-array.ts
  20. 滑动窗口最大值, sliding-window-maximum.ts
  21. 两两交换链表中的节点, swap-nodes-in-pairs.ts
  22. 三数之和, three-sum.ts
  23. 接雨水, trapping-rain-water.ts
  24. 两数之和, two-sum.ts
  25. 有效的括号, valid-parentheses.ts

面试模拟

  1. 选择餐馆: select-restaurants.ts, test spec
  2. 视野之和: field-sum.ts, test spec
  3. 每日在线用户量: daily.temperatures.ts, test spec
  4. 数据流查询: TODO, 想尝试一下用堆实现优先队列,会在下周作业中补上.