思路:利用哈希表记录每个球最后一次出现的位置,然后遍历每个球。如果当前位置与最后一次出现的位置相同,则将该球计入结果中,否则跳过。同时,每次更新最后一次出现的位置为当前位置。这样可以保证每个球只被计入一次,时间复杂度为O(n)。

代码如下:

def max_balls(a):
    n = len(a)
    last_seen = {}
    max_count = 0
    for i in range(n):
        if a[i] in last_seen and last_seen[a[i]] == i:
            max_count += 1
        last_seen[a[i]] = i
    return max_count
求取球的最大数量:丹增的球排列问题

原文地址: https://www.cveoy.top/t/topic/oTkd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录