力扣每日一练(24-1-14)

力扣每日一练(24-1-14)_第1张图片

        做过类似的题,一眼就是双指针,刚好也就是题解。

if not nums:
    return 0

p1 = 0
for p2 in range(1, len(nums)):
    if nums[p2] != nums[p1]:
        p1 += 1
        nums[p1] = nums[p2]

return p1 + 1

        根据规律,重复的数字必定相连,那么只要下一个数字与上一个数字不同,那么上一个数字就可以“入库”,就是数字变化了几次,那么就只有几个数字是唯一的。

        指针1(慢指针)是列表索引,所以返回的长度需要加一。

你可能感兴趣的:(leetcode,算法,职场和发展)