抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

58-62 | 课程重点回顾

找⼥朋友问题

  • 如果能后悔选之前的 : O(n)
  • 如果不能后悔,则用 37% 法则。

适⽤范围: 找房⼦、买东⻄、换工作等。

参考阅读:

如何用数学家的思维指导生活、管理时间?

“量化”生活——新书《指导生活的算法:人类决策中的计算机科学》解读

其他:

  1. Priority Queue 一个任务的密度 = 重要程度/完成时间
  2. Kelly Formula 凯利公式
  3. Game Theory 博弈论

代码模板

递归模板:

DFS 递归模板:

BFS 模板:

二分查找模板:

动态规划模板:

位运算操作

  1. X & 1 == 1 OR == 0 判断奇偶 (X % 2 == 1)
  2. X = X & (X-1) => 清零最低位的 1
  3. X & -X => 得到最低位的 1

不同编程语言的语法问题

Python: x, y = 1, 2
Java or C++: x=1; y=2;

Python: x, y = y, x (可以有效实现交换两数)
Java or C++: int tmp = x; x = y; y = tmp;

其他题目

链表的反转:

链表交换相邻元素:

刷题技巧

持续练习 + 精深练习(刻意练习)

1. 除了“做熟悉和会做的题目”之外,去刻意练习⾃己不熟悉的算法和数据结构。

不要为了切题⽽切题

2. 做过的题⽬后续要返回再复习

PS:没什么技巧,就是对自己狠一点。

Leetcode 可以很好的找到最热/面试最常见/某类别的题目:

⾯试答题四件套:沟通和交流很重要

  1. Clarification(询问题目细节、边界条件、可能的极端错误情况)
  2. Possible Solution(所有可能的解法都和面试官沟通一遍)
    1. Compare Time & Space Complexity(时间复杂度&空间复杂度)
    2. Optimal Solution(最优解)
  3. Coding(写代码)
  4. Test Cases(测试⽤用例例)

拜托,⾯试别再问我斐波那契数列了!!!

原⽂链接: https://mp.weixin.qq.com/s/3LR-iVC4zgj0tGhZ780PcQ

姐妹篇:

1.《拜托,⾯面试别再问我TopK了了!!!》 https://mp.weixin.qq.com/s/FFsvWXiaZK96PtUg-mmtEw

2.《拜托,⾯面试别再让我数1了了!!!》 https://mp.weixin.qq.com/s/A3dLW92SNag8lw7vrQiEHQ

结束语

算法和数据结构是内力 重在练习(修行)

最后:谢谢覃超老师。


0条评论

发表评论