public class cowcode {
public static void main(String[] args) {
long index = 1000000
String line = HELLO
boolean found = false;
if (index <= line.length())
found = true;
while (!found) {
line += buildString(line);
if (index <= line.length())
found = true;
}
if (found)
System.out.println("" + charAt(line, index-1));
}
public static String buildString(String str){
String temp = "" + str.charAt(str.length()-1);
for (int i = 0; i < str.length()-1; i ++){
temp += str.charAt(i);
}
return temp;
}
public static String charAt(String line, long index){
for (int i = 0; i < line.length(); i ++){
if (i == index)
return line.charAt(i) + "";
}
return "";
}
}
Привет! Код выше работает отлично. Однако единственной проблемой является время выполнения.Повышение эффективности программы
Целью этой программы является создание строки из «HELLO» (которая в конечном итоге будет иметь длину индекса по меньшей мере размера). Это делается путем поворота строки вправо («HELLO» -> «HELLOOHELL» и конкатенации исходной строки и повернутой версии вместе. Этот процесс не останавливается до тех пор, пока индекс, который ищет программа, не найден в Строка. (поэтому в данном примере строка будет «HELLOOHELLLHELLOOHEL» после прохождения через петлю дважды).
ли вы, ребята, видите все, что может быть устранено/укороченной для улучшения выполнения?
Это потрясающе! Спасибо! – yj2000