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 "";
}
}
Hey!上記のコードは完全にうまく動作します。しかし、唯一の問題はランタイムです。プログラムの効率向上
このプログラムの目的は、 "HELLO"(最終的に少なくともサイズインデックスの長さを持つ)から文字列を作成することです。これは、文字列を右に回転( "HELLO" - > "HELLOOHELL")し、元のStringと回転したバージョンを連結して行います。このプロセスは、プログラムが探しているインデックスが文字列。(したがって、この例では、文字列は二回のループを経て「HELLOOHELLLHELLOOHEL」になります)。
あなたたちは、ランタイムを改善するために、短縮/排除することができるものを参照していますか?
これは素晴らしいです!ありがとうございました! – yj2000