LeetCode–数组

日积月累,坚持每天更新
刷完题后不单单是能够把题做出来,更重要的是需要从这个题里面学到什么方法,仅此在这里记录下自己的想法总结

一、数组-双指针法

26. 删除排序数组中的重复项

26.1 题目:
数组相关LeetCode题解想法总结
26.2 结题
数组相关LeetCode题解想法总结
26.3 总结:

  • 题目要求原地删除、修改输入数组,就是直接在输入的数组上面操作,不用再借助额外的存储空间,从而达到空间复杂度为:O(1)
  • 双指针按照我的理解有点像在数组上有两个人,一个人(快指针)负责出去找新的元素,另外一个人(慢指针)负责存储有用的,自己需要的元素。当寻找的那个人,将数组中元素全部寻找一遍之后,负责存储的那个人那里就是全部自己需要的元素了。
  • 上面的题解还可以继续优化,当数组没有重复元素时,就会进行不必要的元素复制,可以在元素复制之前添加一个判断,判断之间的间隔是否大于1,若大于1,则说明中间有空元素,需要进行复制

相关文章: