java - 面试题:定义一个数组长度是49,在里边随机放入1到50中的49个,设计一种最快的算法,求出那个数没被放入。
伊谢尔伦
伊谢尔伦 2017-04-18 10:50:37
0
3
624

面试题:定义一个数组长度是49,在里边随机放入1到50中的49个,设计一种最快的算法,求出那个数没被放入。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(3)
黄舟

Trouvez la somme de 1 à 50, puis parcourez le tableau pour additionner et soustraire, comment

阿神

Créez un autre tableau d'une longueur de 50, initialisez tout à 0, parcourez le tableau donné, définissez le nouvel indice du tableau égal à la valeur actuelle du tableau donné sur 1, et enfin affichez le nouvel indice du tableau avec une valeur de 0. Ce fut ma première réaction, attendre une meilleure solution.

黄舟

Utilisez la somme de 1 à 50 pour soustraire tous les nombres du tableau :

# array is an array with length 49

ans = 1275

for i in range(49):
    ans -= array[i]
    
# ans is the number we want to find

Complexité temporelle : O(n)
Complexité spatiale : O(1)


Questions auxquelles j'ai répondu : Python-QA

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal