Nに最も近い値を持つ配列のインデックスを検索します-Java

Haych

APIクラスを使用せずに、順序付けされていない配列のNに最も近い値を配列で検索する方法について誰かがアドバイスを提供できますか?アルゴリズムを線形時間にしたくありません。

これを行う1つの方法は、配列を順序付けてから、バイナリチョップ検索を実行することでしょうか。

これを行うためのより効率的な方法はありますか?

アーウィン・ボルウィット

@ThomasPastircakが書いたように、配列がソートされていない場合、線形時間のパフォーマンスよりも良くなることはありません。

配列内のデータを別のデータ構造に挿入すると、少なくとも線形の複雑さが発生し(配列のすべての要素を挿入する必要があるため)、並べ替えも線形の複雑さよりも悪化します。

あなたの質問と「ソートされていない配列で最大/最小数を検索するにはどうすればよいですか?」という質問との間に大きな違いはありません参照値Nとの最小差を検索しているだけです。

その簡単な解決策は次のとおりです。

public static int closest(double[] array, double n) {
    double leastDifference = Double.POSITIVE_INFINITY;
    int indexOfLeastDifference = -1;
    for (int a = 0; a < array.length; a++) {
        double difference = Math.abs(array[a] - n);
        if (difference < leastDifference) {
            indexOfLeastDifference = a;
            leastDifference = difference;
        }
    }
    return indexOfLeastDifference;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Java:配列内の最も近い値を検索します

分類Dev

Java可変引数:配列内の数値のインデックスを検索します

分類Dev

Javaのメソッドを使用して、配列内のさまざまなインデックスの異なるdoubleを持つ値を計算する

分類Dev

配列の値を取得し、それらをJavaの別の配列のインデックスにします

分類Dev

2次元配列内の1つの次元配列のインデックスを検索し、行ごとにjavaを返します。

分類Dev

配列から数値のすべてのインデックスを検索する(Java)

分類Dev

Javaで配列内のインデックスと値の両方を操作する方法について混乱しています

分類Dev

Javaで配列内のインデックスと値の両方を操作する方法について混乱しています

分類Dev

Javaで指定された開始インデックスと終了インデックスを使用して、配列内の最大整数を検索する**再帰的に**

分類Dev

Javaのdoubleの配列で最も頻度の高い値を検索します(ハッシュマップや並べ替えなし)

分類Dev

Java:HashMapで最も高い2つの値のインデックスを取得する

分類Dev

Javaの配列で文字列のインデックスを見つけようとしています

分類Dev

配列オブジェクトすべてのインデックスは同じ値を持ちますjava

分類Dev

配列オブジェクトすべてのインデックスは同じ値を持ちますjava

分類Dev

Java-2D配列をループして、機能していない値のインデックスを見つけます

分類Dev

ベクトルに最も近い値を持つ列を検索します

分類Dev

Apache Spark Javaでデータセットの列ヘッダーを検索して、列インデックスを検索します

分類Dev

Apache Spark Javaでデータセットの列ヘッダーを検索して、列インデックスを検索します

分類Dev

pandasDataFrameの値に最も近い最初の行のインデックスを検索します

分類Dev

最も近い値を持つ配列内のオブジェクトを検索します

分類Dev

Javaで文字インデックスを持つ配列へのアクセス

分類Dev

Javaで素数の位置にある配列のインデックスを検索し、配列要素を-1に置き換えるコード

分類Dev

Javaパッケージスキャナー-特定のインターフェイスを持つすべてのクラスを検索します

分類Dev

forループを使用してJavaで2つの配列のインデックス値を追加する方法

分類Dev

Javaを使用して、mongodbの特定の値を含む配列を持つドキュメントを検索します

分類Dev

Javaストリームを使用して、インデックスと特定の列挙値を持つ新しいオブジェクトの異なる数をインスタンス化します

分類Dev

Java:2つの配列を使用して、配列のK番目に大きい要素を検索します

分類Dev

Javaの属性の値に応じて、ArrayListでオブジェクトのインデックスを検索します

分類Dev

JavaストリームAPI。1行にオブジェクトのマッチング述語のフィールドを検索します。存在していない場合は、いくつかのデフォルト値を返します。

Related 関連記事

  1. 1

    Java:配列内の最も近い値を検索します

  2. 2

    Java可変引数:配列内の数値のインデックスを検索します

  3. 3

    Javaのメソッドを使用して、配列内のさまざまなインデックスの異なるdoubleを持つ値を計算する

  4. 4

    配列の値を取得し、それらをJavaの別の配列のインデックスにします

  5. 5

    2次元配列内の1つの次元配列のインデックスを検索し、行ごとにjavaを返します。

  6. 6

    配列から数値のすべてのインデックスを検索する(Java)

  7. 7

    Javaで配列内のインデックスと値の両方を操作する方法について混乱しています

  8. 8

    Javaで配列内のインデックスと値の両方を操作する方法について混乱しています

  9. 9

    Javaで指定された開始インデックスと終了インデックスを使用して、配列内の最大整数を検索する**再帰的に**

  10. 10

    Javaのdoubleの配列で最も頻度の高い値を検索します(ハッシュマップや並べ替えなし)

  11. 11

    Java:HashMapで最も高い2つの値のインデックスを取得する

  12. 12

    Javaの配列で文字列のインデックスを見つけようとしています

  13. 13

    配列オブジェクトすべてのインデックスは同じ値を持ちますjava

  14. 14

    配列オブジェクトすべてのインデックスは同じ値を持ちますjava

  15. 15

    Java-2D配列をループして、機能していない値のインデックスを見つけます

  16. 16

    ベクトルに最も近い値を持つ列を検索します

  17. 17

    Apache Spark Javaでデータセットの列ヘッダーを検索して、列インデックスを検索します

  18. 18

    Apache Spark Javaでデータセットの列ヘッダーを検索して、列インデックスを検索します

  19. 19

    pandasDataFrameの値に最も近い最初の行のインデックスを検索します

  20. 20

    最も近い値を持つ配列内のオブジェクトを検索します

  21. 21

    Javaで文字インデックスを持つ配列へのアクセス

  22. 22

    Javaで素数の位置にある配列のインデックスを検索し、配列要素を-1に置き換えるコード

  23. 23

    Javaパッケージスキャナー-特定のインターフェイスを持つすべてのクラスを検索します

  24. 24

    forループを使用してJavaで2つの配列のインデックス値を追加する方法

  25. 25

    Javaを使用して、mongodbの特定の値を含む配列を持つドキュメントを検索します

  26. 26

    Javaストリームを使用して、インデックスと特定の列挙値を持つ新しいオブジェクトの異なる数をインスタンス化します

  27. 27

    Java:2つの配列を使用して、配列のK番目に大きい要素を検索します

  28. 28

    Javaの属性の値に応じて、ArrayListでオブジェクトのインデックスを検索します

  29. 29

    JavaストリームAPI。1行にオブジェクトのマッチング述語のフィールドを検索します。存在していない場合は、いくつかのデフォルト値を返します。

ホットタグ

アーカイブ