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

  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • Showtime

    Showtime

    21 HAZİRAN 2006