Asumsikan kita diberi larik berisi bilangan bulat tidak negatif (tidak harus berbeda).
Biarkan menjadi diurutkan dalam urutan yang tidak bertambah. Kami ingin menghitung A m = maks i ∈ [ n ] B [ i ] + i .
Solusi yang jelas adalah menyortir dan kemudian menghitung . Ini memberikan algoritma yang berjalan dalam waktu dalam kasus terburuk.
Apakah mungkin melakukan lebih baik? Bisakah kita menghitung dalam waktu linier?
Pertanyaan utama saya adalah yang di atas. Tetapi akan menarik untuk mengetahui tentang generalisasi masalah berikut.
Biarkan menjadi diurutkan berdasarkan beberapa perbandingan oracle dan suatu fungsi yang diberikan oleh oracle. Diberikan dan nubuat untuk dan , apa yang bisa kita katakan tentang waktu yang diperlukan untuk menghitung ?
Kita masih dapat menghitung dalam waktu . Tapi bisakah kita membuktikan batas bawah super-linear untuk kasus umum ini?
Jika jawabannya adalah ya, apakah batas bawahnya berlaku jika kita menganggap adalah urutan yang biasa pada bilangan bulat dan adalah fungsi "baik" (monoton, polinomial, linier, dll.)?