recherche

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

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

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

伊谢尔伦伊谢尔伦2810 Il y a quelques jours630

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 :

    1

    2

    3

    4

    5

    6

    7

    8

    <code class="python"># 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</code>

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


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

    répondre
    0
  • Annulerrépondre