Maison  >  Questions et réponses  >  le corps du texte

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

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

伊谢尔伦伊谢尔伦2743 Il y a quelques jours572

répondre à tous(3)je répondrai

  • 黄舟

    黄舟2017-04-18 10:52:37

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

    répondre
    0
  • 阿神

    阿神2017-04-18 10:52:37

    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.

    répondre
    0
  • 黄舟

    黄舟2017-04-18 10:52:37

    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

    répondre
    0
  • Annulerrépondre