İkili Arama, kodlama görüşmelerinde en çok sorulan en popüler Arama Algoritmasıdır. Popülerliği, doğrusal arama algoritmasının O (N), İkili Arama'nın O (log N) süresi aldığı zaman karmaşıklığından kaynaklanmaktadır. İkili Aramadaki tek koşul, dizinin sıralanması gerektiğidir.
Bu yazıda, ben de sordum İkili Arama zor bir sorunu çözmek için gidiyorum LeetCode denilen “Bir döndürülmüş ve sıralama dizide asgari elemanını bulmak” veya “Dönüşümlü ve sıralama dizide Pivot Eleman bulmak”
Bu karmaşık bir sorundur çünkü dizi döndürüldüğü için standart İkili Arama Algoritması ile çözülemez.
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]). Find the minimum element. Input: [3,4,5,1,2] Output: 1
İkili Aramanın O (log N) zaman karmaşıklığı sağlamasının nedeni, her yinelemede dizinin yarısını ortadan kaldırması ve kalan yarısındaki öğeyi aramasıdır.
Burada aynı yaklaşımı uygulamalı ve her yinelemede dizinin yarısını ortadan kaldırmanın bir yolunu bulmalıyız.
Bu döndürülmüş dizi örneğine dikkatlice bakalım:
Example: [4,5,6,7,0,1,2] // minimum element 0 at index 5
Yaklaşım, dizinin orta elemanını bulduğumuz ancak koşulun değiştiği standart ikili aramaya benzer. Dolayısıyla standart İkili Arama Algoritmasını değiştirerek çözümü elde ederiz.
Ortadaki elemanı bulduğumuzda (yukarıdaki örnekte 7 numaralı orta elemandır) dizinin bir yarısının sıralandığı ve diğer yarısının sıralanmadığı iki yarıya bölündüğünü görebiliriz. Bir başka ilginç gözlem de, minimum elemanın her zaman sıralanmamış yarıda olmasıdır.
Algoritma:
Adım 1: Sol ve sağ değerleri ayarlayın. Bu problemde sol değer 0 ve sağdaki değer dizinin uzunluğudur.
let left = 0; let right = nums.length - 1;
const mid = Math.floor((left + right) / 2); if (arr[mid] > arr[right]) { left = mid + 1; } else { right = mid; }
3. Adım: Cevabı geri verin. Sol, sağ değerden büyük veya ona eşit olduğunda döngü kesilir. Bu, dizideki minimum elemanı bulduğumuzda olur, çünkü hem sol hem de sağ eşittir, sol dizini döndürürüz.
return arr[left];
Yazıyı sonuna kadar okuduğunuz için teşekkür eder, umarız bu makale kodlama hazırlıklarınızda size yardımcı olur. Herşey gönlünce olsun!!!
Büyük Çevrimiçi Açık Kurs (MOOC) İkilemi Yol haritasını paylaşmadan önce, doğru materyalleri bulmanıza yardımcı olacak bazı kritik ipuçlarını paylaşmak istiyorum. Halihazırda, bilgisayar bilimlerinde yüksek kaliteli çevrimiçi öğrenim arayan öğrencilerin karşılaştığı en büyük ikilemlerden biri, kaynakların çok büyük olması.
2015 yazında doktoramı bitirdiğimde 200 sayfalık bir tez yazmıştım ve yakarma olarak bilinen 30.000'e yakın anlamsız internet noktası biriktirmiştim. Anonim olarak, konum tabanlı uygulama Yik Yak'ta üniversitemin wifi'sinden şikayet ettim, kampüs sincaplarının fotoğraflarını ve pişirdiğim kurabiyeleri paylaştım, feminizm ve siyaset hakkında tartıştım, yirmi yaşındakilere ilişki tavsiyesi verdim, üzülen öğrencileri teselli ettim. başarısız notlar, seyahat ettiğimde kahve dükkanları için tavsiyeler istedim ve ırkçı ve homofobik şakaları acımasızca küçümsedim.
Gündem: Giriş: TL; Ama okuyabilirim: A / B testi, CloudFront ve Lamba @ edge hakkında zaten bilginiz varsa, AWS Lambda @ edge ile doğrudan A / B testine gidin. A / B testi nedir? A / B testi, kullanıcıların bir web sitesinin iki farklı versiyonunun katılımını karşılaştırmaya odaklanan bir UX araştırma metodolojisidir.
Bugün AppStore'daki birçok uygulama, tablo görünümünü kaydırırken içeriği tablo görünümü başlığındaki ölçekleme gibi davranışlara sahiptir. Bu tür davranışlara nasıl ulaşabileceğimizin en basit yaklaşımını size göstereceğim.
İlk blogumda söz verdiğim gibi 'DOM Nedir?' burada 'DOM işleme' üzerine bir blog var. Bu blogda DOM'a daha fazla dalacağız ve DOM işlemenin ne olduğunu ve nasıl yapıldığını öğreneceğiz.
Node.js'de akışların nasıl çalıştığını hiç merak ettiniz mi? Sahiptim.
"Yıldızlarla Dans Etmek" ünlüsü Mel C, kendisini son iki sırada bulduktan sonra şok edici "Grease" Night elemesinden dolayı "boşverdi".
'Vanderpump Kuralları'ndan Lala Kent daha önce Randall Emmett'in kendisini aldattığını göremediğini söylemişti. Ayrıca onun en iyi arkadaşı olduğunu söyledi.
Eski '90 Day Nişanlısı' yıldızı Varya Malina, Geoffrey Paschel ile birlikte olduğunu doğruladı ve onun için toplandı ve takipçilerinden maddi yardım istedi.
Colin Powell ve eşi Alma Powell, neredeyse altmış yıldır evlilerdi. Çiftin evliliği gerçekten zaman testinden geçti.
Facebook'ta adınızı değiştirmek ister misiniz? Sadece birkaç basit adımda yapmak kolaydır.
Her zaman 10.000 adımlık bu keyfi günlük hedefin gerisinde kalıyorsanız, iyi haberlerimiz var. Daha az adım atarsanız sağlığınız da aynı derecede fayda sağlayabilir.
Garden State, ABD'de kendi gazınızı pompalamanın yasa dışı olduğu tek eyalettir. Ne oluyor?
Bu arada, alacakaranlıkta ve dolunayda araba kullanmak da size bir iyilik yapmıyor.
HBO aracılığıyla görüntülü ekran görüntüsü Güvensiz'in 2. Sezon galasının başlangıcında Molly, terapistinin karşısına oturuyor ve kendimi emin bir şekilde, "Tam olarak kariyerimde olmam gereken yerdeymişim gibi hissediyorum" diyor. Molly'nin flört departmanında olduğu kadar hoşnutsuz olduğu için, iş onun için güvenilir ve tatmin edici bir kaçış, o kadar derine gömdüğü tüm kişisel hayal kırıklıklarından uzakta, terapistinin onu açmak için dişlerini çekmesi gerekiyordu.
Turboşarjlar iyi ve güzel, ancak bugünlerde mütevazı orta büyüklükteki sedanlardan süper arabalara kadar her yerde. Porsche 911 GT3 RS'yi bu kadar özel kılan da budur: Sadece altı silindirden, hiçbirinde turbo olmadan, kesin olarak delice bir güç miktarı ortaya çıkarır.
Kız İzciler, genç girişimcilerinden birinin San Diego'daki bir ot dükkanının önünde kurnazca kurabiye satarak kuralları çiğneyip çiğnemediğini araştırıyor. Urbn Leaf adlı bir dispanserin önünde 300'den fazla kutu satmayı başaran kız, hafta sonları Instagram gönderisinin şekerini düzeltmeye istekli bir müşteri kalabalığını çekmesinin ardından yaratıcılığından ötürü övüldü.
İspanyol Göçmenlik ve Mülteci Destek Ağı'nın nefret suçu olarak bildirdiği bir olayda hafta sonu İspanya'nın Mósteles kentinde bir barda Afrikalı bir oyuncu saldırıya uğradı. El País'e göre Marius Makon, olayın sabah 7 civarında meydana geldiğini söyledi.
Maggie Gyllenhaal ve Dakota Johnson Londra'daki bir galada poz veriyor, Vanessa Hudgens LA'deki spor salonundan ayrılıyor, Christian Siriano 'Project Runway' 19. sezonu ve daha fazlasını kutlamak için NYC'de. Hollywood'dan New York'a ve aradaki her yere, en sevdiğiniz yıldızların neler yaptığını görün
Utanmaz mezunu Emma Kenney, Showtime dizisinde Emmy Rossum ile çalışma deneyimi hakkında konuştu.
HIV pozitif ve kanserden kurtulan Javier Muñoz, PEOPLE'a “Alınma şansı yoktu” diyor.
Rachael Ray Extra'da "Pek çok insan bana yazdı ve ulaştı ve bizim de çok şey kaybettiğimizi söyledi" dedi.