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

序列中整数去重

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])#倒置倒置的列表,还原数字顺序,解包打印
        
全部评论

相关推荐

07-04 16:00
门头沟学院 Java
点赞 评论 收藏
分享
07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
仁者伍敌:服务员还要脱颖而出,这是五星级酒店吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务