首页 > 学院 > 开发设计 > 正文

LonelyInteger

2019-11-14 17:12:59
字体:
来源:转载
供稿:网友

https://www.hackerrank.com/challenges/lonely-integer

 1 def main(): 2     n = int(raw_input()) 3     s = dict() 4     a = 0 5  6     arr = map(int,raw_input().strip().split()) 7     for _ in range(n): 8         num = arr[_] 9         if not s.get(num):10             s.update({num:1})11         else:12             a = s.get(num)13             a += 114             s.update({num:a})15 16     for i in s:17         if s.get(i) % 2 != 0:18             PRint i19             break20 21 main()

 

学习  

  怎样利用新的数据结构“字典”来解决问题

 

 

//另一个方式:过滤

1 #!/usr/bin/py2 def lonelyinteger(a):3     answer = 04     answer = reduce(lambda x,y: x^y, a)5     return answer6 if __name__ == '__main__':7     a = input()8     b = map(int, raw_input().strip().split(" "))9     print lonelyinteger(b)

学习 

  http://jeffxie.blog.51cto.com/1365360/328207 三个过滤函数

  神奇的xor运算

    异或运算有两个特性:

    1、一个数异或本身恒等于0,如5^5恒等于0;

    2、一个数异或0恒等于本身,如5^0恒等于5。

 

    所以比如  print 0 ^ 0 ^ 1 ^ 2 ^ 1

    根据结合律,所有相同的都消除为0,而0和最后孤单的值,成为孤单值本身 


上一篇:Cutthesticks

下一篇:TheLove-LetterMystery

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表