程序查找重复元素并删除它们在Python中的最后一次出现
假设我们有一个数字A的列表,我们必须找到所有重复的数字并删除它们的最后出现次数。
因此,如果输入类似于[10,30,40,10,30,50],则输出将为[10,30,40,50]
为了解决这个问题,我们将遵循以下步骤-
看过:=新映射
d:=新映射
对于范围从0到nums的i,执行
d[nums[i]]:=d[nums[i]]+1
d[nums[i]]:=1
如果nums[i]不在d中,则
除此以外,
i:=0
当我<nums的大小,
从nums中删除第i个元素
我:=我-1
seen[nums[i]]:=seen[nums[i]]+1
seen[nums[i]]:=1
n:=d[nums[i]]
如果没有看到nums[i],则
除此以外,
如果n与see[nums[i]]相同且n>1,则
我:=我+1
返回数字
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, nums):
seen={}
d={}
for i in range(len(nums)):
if not nums[i] in d:
d[nums[i]]=1
else:
d[nums[i]]+=1
i=0
while i < len(nums):
n=d[nums[i]]
if not nums[i] in seen:
seen[nums[i]]=1
else:
seen[nums[i]]+=1
if n == seen[nums[i]] and n > 1:
nums.pop(i)
i-=1
i+=1
return nums
ob = Solution()print(ob.solve([10, 30, 40, 10, 30, 50]))输入值
[10, 30, 40, 10, 30, 50]
输出结果
[10, 30, 40, 50]
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短