Bu sorun, aşağıdaki sorunu çözmek için kod yazmakla ilgilidir.
İki A ve B dizesi verildiğinde, kodunuz A'nın bir alt dizesinin başlangıç ve bitiş indekslerini aşağıdaki özelliklere sahip olarak vermelidir.
- A'nın alt dizesi, B'nin bazı alt dizgesini dizede tek bir karakterin bir ikamesi ile eşleştirmelidir.
- Artık A'nın ilk özelliğini karşılayan alt dizesi olmamalıdır.
Örneğin:
A = xxxappleyyyyyyy
B = zapllezzz
Substring apple
indisli 4 8
(1 indeksleme) geçerli bir çıktı olacaktır.
Puan
Cevabınızın puanı, bayt cinsinden kodunuzun uzunluğunun toplamı + her biri 1 milyon uzunluğunda A ve B dizelerinde çalıştırıldığında bilgisayarımdaki saniye cinsinden süredir.
Test ve giriş
Kodunuzu http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/ adresindeki dizelerden alınan 1 milyon uzunluğunda iki dizede çalıştıracağım.
Giriş standart girişte olacak ve yeni bir satırla ayrılmış iki dize olacaktır.
Diller ve kütüphaneler
Serbestçe kullanılabilen bir derleyici / tercüman / vb. Olan herhangi bir dili kullanabilirsiniz. Linux ve açık kaynak kodlu olan ve Linux için serbestçe kullanılabilen tüm kütüphaneler için.
Benim makine zamanlamaları benim makinede işletilecek. Bu, AMD FX-8350 Sekiz Çekirdekli İşlemciye standart bir ubuntu yüklemesidir. Bu ayrıca kodunuzu çalıştırabilmem gerektiği anlamına gelir. Sonuç olarak, yalnızca kolayca bulunabilen ücretsiz yazılımları kullanın ve lütfen kodunuzu nasıl derleyeceğiniz ve çalıştıracağınızla ilgili tüm talimatları ekleyin.
if(hash(str1 == test1 && str2 == test2)) print("100,150") else ..
- düşünceler?