黄哥Python: 一道水题“最大唯一数” 解题思路

198 阅读1分钟
原文链接: zhuanlan.zhihu.com

有人在**论坛上提问,求解一个数组中最大唯一数。

1、读题,数组中全部是整数,有的数字有重复的,求出不重复的最大整数。

2、解题思路,利用Python 字典去统计每一个整数出现的次数,整数为key,出现的次数为

值,再遍历字典,求出最大唯一数。

由于提问者没有提供OJ的网址,黄哥通过搜索,找到一个OJ上类似的题目。

下面是通过测试的代码

# Sample code to perform I/O:
 
name = input()                  # Reading input from STDIN
print('Hi, %s.' % name)         # Writing output to STDOUT
 
# Warning: Printing unwanted or ill-formatted data to output will cause the test cases to fail
'''
 
# Write your code here
# 黄哥Python培训 黄哥所写
n = int(input()) # 这个有点多余
s = input()
A = [int(item) for item in s.split()]
 
def get_unique_maximum_number(A):
    d = {}
    for i in A:
        if i not in d:
            d[i] = 1
        else:
            d[i] += 1
    maxValue = -1  # 题目都是整数,所以可以设最大值初值为-1
    for key in d:
        if key > maxValue and d[key] == 1:
            maxValue = key
 
    if maxValue >= 0:
        return maxValue
    else:
        return -1
 
print(get_unique_maximum_number(A))
黄哥:黄哥Python培训是这样训练学员的zhuanlan.zhihu.com图标