首页 > 试题广场 >

求时间空间复杂度最优算法

[编程题]求时间空间复杂度最优算法
  • 热度指数:301 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
一副杂乱的扑克牌(不包含大小王),缺失了一张牌,现剩51张,请用最快的方法找出丢失的是1 ~ 13中的哪一张(不区分花色)。
输入:一个长度为51的数组p,代表现剩扑克牌,如: p[0] = 1,p[1] = 4 ...

输出:缺少扑克牌的点数

要求:时间复杂度和空间复杂度尽量小



示例1

输入

[1,2,1,2,3,1,1,2,2,3,3,3,4,4,5,5,4,4,5,5,6,6,7,7,6,6,7,7,8,8,9,9,8,8,10,10,11,11,10,10,11,11,13,13,12,12,12,12,13,13,9]

输出

9

备注:

要求:时间复杂度和空间复杂度尽量小

class Solution:
    def findLostCard(self , p):
        dic = {}
        for i in range(0,len(p)):
            if p[i] not in dic:
                dic[p[i]] = 1
            else:
                dic[p[i]] += 1
        print(dic)
        for j in dic:
            if dic[j] != 4:
                return j


发表于 2022-07-30 18:31:30 回复(0)