プログラミングの問題[記録を持つJavaインタビュー]

アレイ、ここで0の合成出力として一緒にすべての3つの数字。

プログラム:ブルートフォース、最悪の答えの複雑さ(N ^ 3)O ....

オプション2:最初にソートして、配列をループには、次の手順を実行します。

I番目の要素に、最初の番号[i]は、第二の数字は[I + 1]、3桁目は、[a.length-1]です。

彼らは、3桁の数字をテストする場合より0、第3のデジタルモバイル前方に1未満の場合0、第1桁目のその後後退、等しい場合、インデックスの特定の形態に3つの数字その後、セット、サイクリックI;

時間計算量:O(N ^ 2)。

 

ヘッドノードの二つのリストを考えると、ノードは、その交差点を返します。

プログラム:ブルートフォース:それは、リスト内の別のノードに存在する鎖、順次調査を与え、時間複雑度(MN)O、最悪プログラム。

スキームII:エンド・ノードが異なる場合、2つのリスト、それらの長さを記録しながら、接合配列の終わりを見つけるために、エンド・ノード場合と同様、次いで交点は、説明を直接NULLを返す交差しません。

ケースと交差する:同じノードを取得するときに、2つのリスト、ノードが交差点である移動後方より長い鎖をkノード、K 2つのリストの長さの差は、その後、ポインタが、後退させますに戻ります。

おすすめ

転載: www.cnblogs.com/yeqingxue/p/11402563.html