要求單詞:排列降序它們的長度的順序
寫一個程序,接受字符串,並以降序>它們的長度,的順序打印的話不使用陣列。
例如:
輸入=我愛我的國家印度
輸出=國印度愛我的我
我曾嘗試通過使用嵌套的循環來解決,但它會花時間更大的投入。建議更好的替代算法...
//Input=I love my country India
//Output=country India love my I
public static void main(String[] JVJplus)
{
String s,temp="",newS="";
int i,j;
System.out.print("Entet s=");
s=in.nextLine()+" ";
for(i=s.length();i>0;i--)
{
for(j=0;j<s.length();j++)
{
char c=s.charAt(j);
if(c!=' ')
temp+=c;
else
{
if(temp.length()==i)
newS+=temp+" ";
temp="";
}
}
}
System.out.println("Output="+newS);
}
'而不使用arrays'意味着沒有陣列,的ArrayLists,比較器可以是溶液的一部分?如果所有這些都被禁止,那麼你的解決方案可能已經足夠了。 – pleft
我同意elefasGR。記錄:您正在詢問如何改進工作代碼。這樣的請求可以/應該去codereview.stackexchange.com ...並記住:這個「難題」的全部重點是**不使用數組。從這個意義上說:無論如何,你無法解決這個問題**;所以你真的不需要擔心你的解決方案的性能太多。換句話說:不知何故,你必須「補償」不能使用數組。毫不奇怪,節省內存的解決方案需要「更多」cpu週期! – GhostCat
扮演魔鬼的擁護者,在技術上不是一個字符串「陣列」嗎?你使用這個「數組」:char c = s.charAt(j); – JohnG