【golang|LeetCode26 删除有序数组中的重复项 Go语言】https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
文章图片
func removeDuplicates(nums []int) int {
n := len(nums)
if n<2{
return n
}
low := 0
fast := 0
for fast
思路:
- 思路一,我最先想到的直白点的方法就是,维护一个变量i,然后往后遍历,如果i和i-1是一样的,就如下的方法删除这个变量,如果不一样就i++,直到i>=len(nums)退出循环。这个思路的消耗有点大,不是很推荐。
nums[i] = append(nums[:i],nums[i+1:]...)
- 思路二,就是如图所示的双指针的方式,把不一样的移到数组的前面去,遍历完后只取前面部分的数组。我用这个方法提交了两次,第一次n的部分我都是直接使用len(nums)好像消耗比较大,就把数组长度用n存下来了。然后就双百了。
推荐阅读
- 面试|力扣刷题记录
- 记录|leetcode刷题计划和每日刷题记录
- YAYA LIVE CTO 唐鸿斌(真正本地化,要让产品没有「产地」属性)
- 算法|OpenCV部署yolov5v-v6.1目标检测(附源代码)
- 数据结构与算法|数据结构与算法——栈、队列、堆汇总整理
- 数据结构与算法|数据结构与算法——线性表(链表篇)
- 数据结构与算法|数据结构笔记——栈和队列
- 数据结构|数据结构实验三——栈和队列的基本操作
- 算法|YOLOv6(又快又准的目标检测框架开源啦)