数据结构与算法
2 人感兴趣 · 231 次引用
- 最新
- 推荐

任务调度之时间轮实现 | 京东云技术团队
在生活中太阳的东升西落,鸟类的南飞北归,四级的轮换,每天的上下班,海水的潮汐,每月的房租车贷等等,如果用程序员的视角看,这就是一个个的定时任务,在日常的开发工作中也有很多的定时任务场景:
已知非空线性链表由 list 指出, 链结点的构造为 (data,next)。写 - 算法, 将链表中数据域值最小的那个链结点移到链表的最前面。要求: 不得额外申请新的链结点
们可以在遍历链表的时候记录下整个链表中的最小值和对应的结点位置。然后将这个最小值所在的节点移到链表的最前面即可。具体的步骤如下:

「 数据结构与算法 」如何系统性的学习数据结构与算法
知道有哪些常用的数据结构和算法; 能够写出高性能的底层轮子; 知道如何进行复杂度分析、性能分析; 通过不断训练,具备“算法思维”,提高分析和解决实际问题的能力... 能够自如地应付大厂面试
有位大牛终于把珍藏多年的算法视频给分享出来了,总共 3.81G
大厂面试都开始问算法了,要是你不会算法只能与大厂失之交臂。为了解决大家算法方面的缺失,小编特此分享算法的学习路线和学习视频,希望大家能够喜欢!!!

leetcode 287. Find the Duplicate Number 寻找重复数 (中等)
这道题给我们n+1个数,所有的数都在[1, n]区域内,首先让证明必定会有一个重复数,题目要求不能改变原数组,即不能给原数组排序,又不能用多余空间,那么hash的就不用考虑了,又要求时间小于O(n^2),只能考虑用二分搜索法了,在区间[1, n]中搜索,

leetcode 191. Number of 1 Bits 位 1 的个数 (简单)
思路1:n & 1如果为1,ans=ans+1,然后再n向右移一位,直到n=0,返回ans。注意:因为是Java实现所以要用for 思路2:先判断如果n!=0,ans++,令n = n&(n-1),循环直到n=0,返回ans

leetcode 15. 3Sum 三数之和 (中等)
sortfind,整个数组排序O(NlogN),以示例1为例,先排序为[-4, -1, -1, 0, 1, 2],定义一个a遍历,再遍历求b,c,此时令b等于a接下来的第一个元素,c为最后一个元素,判断a+b+c<0时令b+1,如果a+b+c>0时令c-1.