並べ替えられた配列が{1, 2, 3, 4, 5, 7, 8, 9, 10, 15, 16, 21, 23, 25, 26}
であるとします。実際にはソートされた配列に間隔を作成する
1..5
7..10
15..16
21..21
23..23
25..26
は私がはるかに大きなデータを持っているので、私は良いランタイムとアルゴリズムが必要になります 私は間隔に次のようにこれらの要素を入れたいと思います。
私が気にしたことは次のとおりです。 アレイを2つの部分に分け、4つのループで配列を分けます。 0インデックスからの1つのループ、配列の中間からの2つのループ、およびその終わりからの1つのループ。すべてのループは現在の要素と次の要素のdiffが1であるかどうかをチェックし、そうであれば次の要素に進み、それ以外の要素から間隔を作成して次の要素から新しい間隔を開始します。
私の質問はそれは良いアプローチですか、それとも良い方法がありますか?疑似コードまたはJavaコードを入力してください。
インデックス0で始まり、順次ループを実行し、間隔の最初の要素を追跡するだけではどうですか。 – tsolakp
どのように間隔を派生していますか?私はそれにどんなパターンも見ません。 – user3437460
なぜすべてのループ?これは、最後の値+ 1!=現在の値から始まる新しい間隔を持つ単一のループのようです。 –