首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
其实啥也不是
掘友等级
前端开发
|
奇虎360
上善若水,人淡如菊
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
24
文章 24
沸点 0
赞
24
返回
|
搜索文章
赞
文章( 24 )
沸点( 0 )
并查集(UnionFind)及优化
内容学习自小码哥的《恋上数据结构与算法》,图片来自视频截图。 什么是并查集?先看下面问题。 解决上面这个问题我们需要设计一种新的数据结构,能够快速合并2组数据为一组。同时又能快速识别两个数是否为一组。 并查集两个核心方法就是:Union和Find。 下面是以整数为例。 这是第一…
LeetCode-面试题 16.16. 部分排序
面试题 16.16. 部分排序 给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。注意:n-m尽量最小,也就是说,找出符合条件的最短序列。函数返回值为[m,n],若不存在这样的m和n(例如整个数组是有序的),请返回[-1,…
LeetCode-88. 合并两个有序数组-代码超少
88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中*,*使 nums1 成为一个有序数组。 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大…
LeetCode-75.颜色分类
75. 颜色分类 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,**原地**对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 对值有个0,1,2三种值的数组进行排序。 这句话就是…
LeetCode-977. 有序数组的平方
977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 A 已按非递减顺序排序。 由于非递减中包含了负数,负数平方后会打乱整个排序。 所以负数的升序,平方后就是降序。 如果全是负数,只要将原有序列倒转下。 如果…
归并排序(Merge Sort)
学习自小码哥的《恋上数据结构与算法》,图片来自视频截图。 不断将当前序列平均分割成2个子序列,直到不能再分割(序列中只剩下1个元素)。 不断将2个子序列合并成一个 有序序列,直到最终只有一个有序序列。 真实开发中与上面不同处在于,需要merge的两个序列存在一个数组中,并且是挨…
快速排序(QuickSort)
学习自小码哥的《恋上数据结构与算法》,图片来自视频截图。 选择序列中的某个元素,将序列一分为2,小于该元素的放在前面,大于该元素的放在后面,相等的随便前后。那么这个元素就是 轴点元素(pivot) 选择一个元素作为pivot。 用pivot将序列一分为2。 重复1~2直到不能再…
希尔排序(ShellSort)及优化
假如有以下一组序列,需要使用希尔排序对其进行升序。 我们按照某个增量将序列分为多列。比如上面这个需要我们可以按照4、2、1将其分为2列、4列、8列。然后分别对其每列上的元素进行插入排序。这个增量是一系列数。希尔本身推荐的增量系数为1、2、4、8、16...等2的k次方。 如果增…
LeetCode_203. 移除链表元素及优化
203. 移除链表元素 删除链表中等于给定值 *val* 的所有节点。 我们可以生成一个新的链表,新的链表中不包含移除的元素即可。 如上图,我们需要遍历原有的列表上的Node,如果不是要移除的结点,就添加到新链表最后一个节点的next上。 如果变量到的结点不是要移除的结点,就将…
LeetCode_151_最小栈
155. 最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 pop、t…
下一页
个人成就
文章被点赞
4
文章被阅读
3,648
掘力值
113
关注了
39
关注者
4
收藏集
1
关注标签
15
加入于
2018-02-01