Artikel ini menjelaskan perhitungan algoritma jarak subskrip maksimum yang diimplementasikan di Java. Bagikan untuk referensi Anda, sebagai berikut:
Deskripsi pertanyaan
Diberi array pembentukan, temukan jarak subskrip maksimum j - i, jika [i] <a [j] dan i <j
larutan
Kompleksitas: tiga pemindaian, setiap kali kompleksitas o (n)
Algoritma: {5,3,4,0,1,4,1}
Temukan urutan menurun {5,3,0} mulai dari elemen pertama
i = 3, j = 6, j diinisialisasi dari pemindaian ekor, i = 3, j = 6, a [i] = 0
Mengimplementasikan kode
public static int maxIndexdistance (int a []) {boolean [] isdes = boolean baru [A.length]; int min = a [0]; isdes [0] = true; untuk (int i = 0; i <a.length; i ++) {if (a [i] <min) {isDes [i] = true; min = a [i]; }} int maxdis = 0; int i = a.length - 1; int j = a.length - 1; System.out.println (arrays.tostring (ISDES)); while (i> = 0) {while (isDes [i] == false) {i--; } while (j> i && a [j] <= a [i]) {j--; } if ((j - i)> maxdis) {maxdis = j - i; } Saya--; } return maxdis;}Untuk informasi lebih lanjut tentang algoritma java, pembaca yang tertarik dengan situs ini dapat melihat topik: "struktur data java dan tutorial algoritma", "ringkasan tips node dom java", "ringkasan file operasi java dan direktori" dan "ringkasan tip operasi java cache" tips java "tips java" Tips "Java Cache Tips"
Saya harap artikel ini akan membantu pemrograman Java semua orang.