重複する要素を見つけてブール値を返すメソッドを書くタスクがあります。重複する文字列の複雑さを検索する
以下のコードは私が持っているものです。
import java.util.ArrayList;
import java.util.List;
public class DuplicateEle {
public static void main(String args[]) {
String[] arr = { "hello", "hi", "hello", "howru" };
DuplicateEle de = new DuplicateEle();
for (int i = 0; i < arr.length; i++) {
boolean isDup = de.isDuplicate(arr[i]);
System.out.println(arr[i]+" is duplicate :" +isDup);
}
}
List<String> dList = new ArrayList<String>();
private boolean isDuplicate(String str) {
boolean isDup = false;
if (dList.contains(str)) {
isDup = true;
} else
dList.add(str);
return isDup;
}
}
期待どおりに動作します。 出力:
hello is duplicate :false
hi is duplicate :false
hello is duplicate :true
howru is duplicate :false
上記のコードの時間の複雑さを確認したいと思います。私は時間の複雑さのチュートリアルを調べて、このように動作する方法について調べていますone。
上記のコードを入力して、時間の複雑さの仕組みを理解してもらえますか?
ありがとうございます!
あなたが与えたリンクを使用してください。彼らはすべてを説明する。@lexicoreはリンクを愛しています:D – sheplu
@lexicore:私がそれを理解していればわかりません。推論は?タスクの詳細 – lr14
@ lr14あなたは私たちに任務を投げます。あなたはこれを行う方法についてのガイドを持っていて、 "入力"と "理解を助ける"ことを求めます。誰かがあなたと座って、あなたがそのガイドを読んであなたの仕事にそれを適用するのを助けるなら、あなたは何を期待していますか?起こることはありません。あなたがリンク先のガイドに書かれている内容を実際に適用して、あなたの質問に推論を書き留めて、誰かがエラーを見つけられるかどうか尋ねるなら、あなたは実際の助けを得るかもしれません。しかし、今のように、あなたは単にあなたに宿題をするように私たちに求めます。 – lexicore