题解 | #草原上的牛群分布#
草原上的牛群分布
https://www.nowcoder.com/practice/25752634aa444758843eed6ff227703a
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution: def remove_duplicates_v3(self , nums: List[int]) -> int: # write code here if len (nums) <= 3: return len(nums) 用一个计数器,记录当前数组第一个元素已经出现过的次数 count = 0 last = nums[0] 每次都把队首的元素放到队尾,然后把第一个元素删掉 for i in range(len(nums)): if last == nums[0]: count += 1 if count <= 3: 仅在当前队首元素出现次数不大于3时,才将队首元素加到队尾 nums.append(nums[0]) else: 新元素来了 last = nums[0] count = 0 nums.append(nums[0]) nums = nums[1:] # 最后如果计数大于3,还需要把队尾多出的删掉 if count >= 4: for i in range(count - 3): nums.pop() print(nums) return len(nums)