
玩转算法
文章平均质量分 64
。。。
程研板
计算机本硕连读,热爱大数据和人工智能,希望能够为apache社区添砖加瓦。2025年起开始接做毕设的项目。
展开
-
玩转算法(十四)——链表(排序和重排)
目录重排86. 分隔链表328. 奇偶链表143. 重排链表排序148. 排序链表147. 对链表进行插入排序重排86. 分隔链表86. 分隔链表328. 奇偶链表328. 奇偶链表143. 重排链表143. 重排链表排序148. 排序链表148. 排序链表147. 对链表进行插入排序147. 对链表进行插入排序...原创 2021-07-29 13:06:58 · 305 阅读 · 0 评论 -
玩转算法(十三)——链表(双链表)
目录双链表2. 两数相加445. 两数相加 II21. 合并两个有序链表双链表2. 两数相加2. 两数相加445. 两数相加 II445. 两数相加 II21. 合并两个有序链表21. 合并两个有序链表原创 2021-07-26 12:44:05 · 188 阅读 · 0 评论 -
玩转算法(十二)——链表(删除链表)
目录删除链表83. 删除排序链表中的重复元素203. 移除链表元素82. 删除排序链表中的重复元素 II237. 删除链表中的节点19. 删除链表的倒数第 N 个结点删除链表83. 删除排序链表中的重复元素83. 删除排序链表中的重复元素203. 移除链表元素203. 移除链表元素82. 删除排序链表中的重复元素 II82. 删除排序链表中的重复元素 II237. 删除链表中的节点237. 删除链表中的节点19. 删除链表的倒数第 N 个结点19. 删除链表的倒数第 N 个结点..原创 2021-07-25 21:26:54 · 186 阅读 · 0 评论 -
玩转算法(十一)——链表(反转链表)
目录反转链表206. 反转链表92. 反转链表 II24. 两两交换链表中的节点25. K 个一组翻转链表61. 旋转链表反转链表206. 反转链表206. 反转链表92. 反转链表 II92. 反转链表 II24. 两两交换链表中的节点24. 两两交换链表中的节点25. K 个一组翻转链表25. K 个一组翻转链表61. 旋转链表61. 旋转链表...原创 2021-07-24 12:06:11 · 168 阅读 · 1 评论 -
玩转算法(八)——查找表(数字之和)
目录数字之和类型1. 两数之和(简单)15. 三数之和(中等)18. 四数之和(中等)16. 最接近的三数之和(中等)数字之和类型1. 两数之和(简单)思路一:先排序再使用双指针。时间复杂度为O(nlogn)。但是本题,排序后索引改变了,会有点麻烦。leetcode中167题,可直接用双指针进行求解。思路二:使用哈希表,需要注意的是,不能先把数组中所有数据都放入哈希表,因为重复的数会被覆盖,需要建立一个指针从第一个数往后移动,指针之前的数放入哈希表 ,指针的数和之前的哈希表进行计算。时间复杂度为O原创 2020-11-28 17:12:23 · 258 阅读 · 0 评论 -
玩转算法(七)——查找表(简单应用)
目录242. 有效的字母异位词202. 快乐数290. 单词规律205. 同构字符串451. 根据字符出现频率排序242. 有效的字母异位词242. 有效的字母异位词202. 快乐数202. 快乐数290. 单词规律290. 单词规律205. 同构字符串205. 同构字符串451. 根据字符出现频率排序451. 根据字符出现频率排序...原创 2020-11-23 19:39:47 · 365 阅读 · 0 评论 -
玩转算法(六)——查找表(查找交集及进阶)
目录查找表介绍查找表相关题目349. 两个数组的交集(简单)350. 两个数组的交集 II(简单)查找表介绍查找表的底层结构:TreeMap和TreeSet的底层用的平衡二叉树。HashMap和HashSet的底层用的哈希表(数组+链表)。如果只需要简单的进行插入和查找,使用HashMap和HashSet效率会更高。但是会使查找表失去顺序性,求解下面问题适合用TreeMap和TreeSet。查找表相关题目349. 两个数组的交集(简单)349. 两个数组的交集public int[]原创 2020-11-20 18:33:56 · 248 阅读 · 0 评论 -
玩转算法(五)——数组(滑动窗口)
目录209. 长度最小的子数组(中等)3. 无重复字符的最长子串(中等)438. 找到字符串中所有字母异位词(中等)76. 最小覆盖子串(困难)209. 长度最小的子数组(中等)209. 长度最小的子数组3. 无重复字符的最长子串(中等)3. 无重复字符的最长子串438. 找到字符串中所有字母异位词(中等)438. 找到字符串中所有字母异位词76. 最小覆盖子串(困难)76. 最小覆盖子串...原创 2020-11-18 21:27:03 · 809 阅读 · 0 评论 -
玩转算法(四)——数组(指针碰撞)
目录字符串回文或反转344. 反转字符串345. 反转字符串中的元音字母125. 验证回文串到达目标值或最大值167. 两数之和 II - 输入有序数组11. 盛最多水的容器字符串回文或反转344. 反转字符串344. 反转字符串345. 反转字符串中的元音字母345. 反转字符串中的元音字母125. 验证回文串125. 验证回文串到达目标值或最大值167. 两数之和 II - 输入有序数组167. 两数之和 II - 输入有序数组11. 盛最多水的容器11. 盛最多原创 2020-11-16 10:56:37 · 345 阅读 · 0 评论 -
玩转算法(三)——数组(高级排序算法的运用)
目录原创 2020-11-14 18:05:05 · 319 阅读 · 0 评论 -
玩转算法(二)——数组(快索引和慢索引)
目录原创 2020-11-11 10:58:00 · 308 阅读 · 0 评论 -
玩转算法(一)——时间复杂度
目录数据规模递归算法的时间复杂度均摊时间复杂度数据规模public class NumScale { public static void main(String[] args) { for(int x = 0; x < 10; x++) { double n = Math.pow(10, x); long startTime = System.currentTimeMillis(); int sum原创 2020-11-08 11:49:52 · 300 阅读 · 0 评论