题解 | #序列中整数去重#

序列中整数去重

http://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490

思路:

  • 题目的坑:去除重复项,而保留第一个数字出现的顺序,
  • 但是出去列表项目的常规操作remove从只移除x的第一次出现

针对上面这个问题的解决方法

  • 用for循环,多次移除重复项x,知道满足x出现次数(用count方法)为1
  • 倒置列表,进行移除操作后再倒置回来,保留x第一次出现的位置

    
n=int(input())#n好像不用到
li=[int(x) for x in input().split()]#获取数字的列表
li2=li[::-1]#倒置列表,目的是为了从后面开始remove,保留第一个数字所在位置
for x in li:#for循环遍历列表内容,如果x出现次数>1,则去掉x,遍历完成后,每个数字只出现一次
    if li2.count(x)>1:
        li2.remove(x)
print(*li2[::-1])#倒置倒置的列表,还原数字顺序,解包打印
        
全部评论

相关推荐

Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务