SORU
21 Ocak 2010, PERŞEMBE


En hızlı sayı dizisi eksik sayısını bulmak için yol

100'e 1 (Her ikisi de dahil) sayı dizisi var. Dizinin boyutu 100'dür. Sayılar rasgele dizi eklenir, ama dizideki rastgele boş yuva var. Bu yuvası olarak yuvaya konulmalıdır numarasını bulmak için en hızlı yolu nedir? Java bir çözüm tercih edilir.

CEVAP
21 Ocak 2010, PERŞEMBE


O, bu(n) yapabilirsiniz. Dizi boyunca yineleme ve tüm sayıların toplamını hesaplar. Şimdi, 1 N doğal sayıların toplamı Nx(N 1)/2 olarak ifade edilebilir. Senin durumunda N=100.

N=100 Nx(N 1)/2, dizinin toplamını çıkarın.

Kayıp sayısıdır. Boş yuva olan toplamı hesaplanır yineleme sırasında tespit edilebilir.

// will be the sum of the numbers in the array.
int sum = 0;
int idx = -1;
for (int i = 0; i < arr.length; i  )
{
    if (arr[i] == 0)
    {
         idx = i; 
    }
    else 
    {
         sum  = arr[i];
    }
}

// the total sum of numbers between 1 and arr.length.
int total = (arr.length   1) * arr.length / 2;

System.out.println("missing number is: "   (total - sum)   " at index "   idx);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • majesticdubstep

    majesticdubs

    3 Kasım 2011
  • Shon Gonzales

    Shon Gonzale

    5 EKİM 2014