文章目录
- 概要
- 26. 删除有序数组中的重复项
- 代码Python
- 189. 轮转数组
- 代码Python
- 小结
概要
记录一些数组相关的刷题集。
数组数据结构早就写过了,一直没有写相关的刷题集。今天补上。
26. 删除有序数组中的重复项
leetcode26题
题目如上图;也可以去leetcode 看下这个题目。
代码Python
Python代码实现
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
slow, fast = 0, 1
while fast < len(nums):
if nums[fast] != nums[slow]:
slow = slow + 1
nums[slow] = nums[fast]
fast = fast + 1
return slow + 1
189. 轮转数组
leetcode 189题
题目如上图,看不清,可以去看下leetcode。代码如下。
代码Python
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n = len(nums)
nums[:] = nums[-k % n:] + nums[:-k % n]
小结
数组刷题总结
以前是用c++写的,这次专门用python写了一遍。其实,思路整体没变,第一题,是快慢指针;第二题,是一个算法。快慢指针,都是一个思路,2个指针,往后循环,框架写出来,直接套公式;第二题这种算法,就是递推公式推出来,就好了。好了,翻篇。