当前位置:   article > 正文

蓝桥杯备赛(python)_有一个n*n的矩阵方格和n个棋子,现在需要将n个棋子按要求放置到矩阵方格中。

有一个n*n的矩阵方格和n个棋子,现在需要将n个棋子按要求放置到矩阵方格中。

基础

一、数组中重复的数字

题目
找出数组中重复的数字。

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的, 但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

限制:
2 <= n <= 100000
示例
输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3

二、解题思路

1.直接先建立一个空的集合,之后对数字在字典中遍历,字典中存储出现一个的数字
2.利用collection中的Counter进行解题

三、代码

方法1:

nums=list(map(int,input().split()))
dict1=set() #直接利用dict1集合存储nums中只出现一次的数字
for i in nums:
    if i in dict1:
        print(i)
    dict1.add(i)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

方法2:


from collections import Counter

# print(Counter(nums).items())    #返回dict_items([(2, 2), (3, 2), (1, 1), (0, 1), (5, 1)])
#以字典的形式进行存储了数组中出现数字的个数
print(sorted(Counter(nums).items(),key=lambda x :-x[1])[0][0])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

总结

星辰大海是要门票的,通往远方的路也很贵。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/64105?site
推荐阅读
相关标签
  

闽ICP备14008679号