Para provar oferta de segurança - se marca contínua

título Descrição

LL particularmente bom humor hoje, porque ele comprou um baralho de cartas e descobriu que há na verdade tem dois rei, dois pequenos rei (o deck foi originalmente 54 ^ _ ^) ... ele aleatoriamente retirados de cinco marca, queria Cece própria sorte, veja se você pode ser capaz de obter em linha reta, se for capaz de obtê-lo, ele decidiu comprar uma loteria esportiva, hey! ! "Red A, 3 de espadas, Wang, rei, pedaço quadrado 5", "Oh meu Deus!" Straight ..... LL não está feliz, ele pensou, decide \ Amy pode ser visto como qualquer número, e considerada como uma 1, J é 11, Q é 12, K 13. O acima de cinco cartões podem tornar-se "1,2,3,4,5" (king size e 2, respectivamente visto como 4), "tão afortunado!". LL decidiu comprar amigos loteria esportiva. Agora, peço-lhe para usar esta peça de cartão de simular o procedimento acima, e, em seguida, dizer-nos como LL sorte, se o cartão pode ser composto de direto para a saída verdadeira, caso contrário ele irá falsa saída. Para maior comodidade, você pode pensar king size é 0.

 

pensamento

Se não uma cama king size, cinco cartas precisam ser reta é necessária: o número máximo de max - min = 4 Número Mínimo

Se houver um tamanho rei, cinco placas precisam ser linear é necessário: max - = 3 min ou max - = 4 min

Se existem duas king size, cinco placas precisam ser linear requer: max - = 2 min ou max-min = 3 ou max - = 4 min

Assim, para além do tamanho rei contanto que não há números duplicados, e max - min <= 4 é para cima.

import collections
class Solution:
    def IsContinuous(self, numbers):
        if not numbers:
            return False
        
        maxi = max(numbers)
        mini = 14
        nums = collections.defaultdict(lambda:0)
        
        for n in numbers:
            if nums[n] > 0 and n!=0:
                return False
            nums[n] += 1
            if n<mini and n!=0:
                mini = n
        if maxi-mini<=4:
            return True
        else:
            return False

 

Publicado 82 artigos originais · ganhou elogios 2 · Vistas 4350

Acho que você gosta

Origin blog.csdn.net/qq_22498427/article/details/104819058
Recomendado
Clasificación