この問題は基本的にアルゴリズム最適化問題です。
n個の要素を持つリストがあります。たとえば、{n1,n2,n3...nk}
このリストはソートされており、次の番号niを見つける必要があります。
n1<=ni<=nk
- 各番号からの距離の合計
ni
は最小です。
可能な数の合計があるかもしれません(nk-n1+1)
が、私たちの目的は、ni
他のすべての数に最も近い数を見つけることです。
ブルートフォースアプローチはn1
、nkまで繰り返し、すべてのリスト番号からの距離の合計を計算することができます。このようにして、リスト内の他のすべての番号に最も近い番号を簡単に見つけることができます。
しかし、このアプローチの問題は、時間の複雑さの点で良くないということです。このアプローチの時間計算量はですO(n^2)
。
時間計算量を減らしてこの問題を解決できる、これを行うためのより良い方法があると思います。
どんなアプローチでもありがたいです。