
算法、数据结构
文章平均质量分 67
9527是你么
这个作者很懒,什么都没留下…
展开
-
算法小白如何高效、快速刷leetcode?
leetcode 刷了 300 题。建议题主先把二叉树的各种遍历方式先写一遍。递归这个思想要了然于心。碰到递归就要想想能不能反过来求解,类似于动态规划。碰到动态规划想想能不能变成贪婪算法。建议先把伪代码先写好,分情况讨论,然后再写代码。这点非常重要,面试的时候 debug 时间过长很不好。状态可以用哈希表来记录。有的时候状态数目比较少可以直接用数组来记录。了解一下补码反码等概念,知道一些操作的基本用处,比如异或,移位。注意总结,比如说 two sum 这个题,可以把加法变成乘转载 2021-05-13 22:27:05 · 185 阅读 · 0 评论 -
面试题-2021-5-13-100万个数据前100大的数据
1.算法如下:根据快速排序划分的思想(1) 递归对所有数据分成[a,b)b(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数(2) 对(b,d]重复(1)操作,直到最右边的区间个数小于100个。注意[a,b)区间不用划分(3) 返回上一个区间,并返回此区间的数字数目。接着方法仍然是对上一区间的左边进行划分,分为[a2,b2)b2(b2,d2]两个区间,取(b2,d2]区间。如果个数不够,继续(3)操作,如果个数超过100的就重复1操作,直到最后右边只有100个数为止。...转载 2021-05-13 22:22:59 · 251 阅读 · 0 评论