动动大帝
动动大帝
全部文章
分类
八股笔记(12)
数据结构与算法(26)
计算机网络(4)
锁与多线程(2)
归档
标签
去牛客网
登录
/
注册
动动大帝的博客
全部文章
(共16篇)
滑动窗口
数组操作——滑动窗口 所谓滑动窗口,就是不断地调整子数组地起始位置和终止位置,从而得出想要的结果。 例题:今日leetCode每日一题 :1984. 学生分数的最小差值 给你一个 下标从 0 开始的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。...
Java
数组
滑动窗口
2022-02-11
1
394
快速求算两数的最大公约数(gcd)
快速求得a和b的最大公约数的主要方式有两种: 更相减损法 欧几里得算法 其中欧几里得算法的递归实现最为好写,复杂度为O(log(a+b)),在绝大多数的情况下适用,只有在需要实现高精度时,才会考虑使用更相减损法。 还有一种stein算法,三叶大佬说是没有必要掌握的。 以今天的LeetCode每...
Java
字符串
组合数学
2022-02-10
0
508
自然排序和定制排序(对比总结附后)
这里所说到的Java中的排序并不是指插入排序、希尔排序、归并排序等具体的排序算法。而是指执行这些排序算法时,比较两个对象“大小”的比较操作。 为了解决如何比较两个对象大小的问题,JDK提供了两个接口 java.lang.Comparable 和 java.util.Comparator 。 一...
Java
堆(优先队列)
有序集合
队列
2022-02-08
0
1347
关于死锁
最简单的死锁情况是,线程T1持有锁L1并且申请获得锁L2,而另一个线程T2持有锁L2并且申请锁L1。 因为锁是唯一的,两个线程都在等待对方释放自己需要的锁,所以线程T1和T2永远被阻塞了。两个线程都会停留在阻塞状态,永远不会结束,这就导致了死锁。
Java
多线程
2022-01-21
0
269
Java中的HashMap的底层原理实现、工作原理?
以JDK7为例子说明: HashMap map = new HashMap(); 在实例化后,底层创建了一个长度为16的一维数组Entry[] table。 /*可能执行过多次put*/ map.put(key1,value1); 首先调用key1所在类的hashCo...
Java
哈希表
2022-01-21
1
328
KMP算法理论
KMP算法 KMP主要应用在字符串匹配的场景中,其思想是当出现字符串不匹配的情况时,可以知道一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。 next数组 next数组是一个前缀表,或者说是前缀表的某种变形。 为了讲清楚next数组的含义,先明确字符串的前缀、后缀的概念 1.前...
字符串
字符串匹配
Java
2022-01-20
2
529
首页
上一页
1
2
下一页
末页