たまたまソートされた固定の数値セットがあるとします。
static readonly int[] numbers = new int {
1, 200, 204, 228, 298, 300, 331, 332, ... 2983
};
任意の値以下の最大数を効率的に見つけるにはどうすればよいでしょうか。私が作成しようとしている関数は次のとおりです。
public int LessThanOrEqualTo(int n)
{
// ???
}
最も簡単な方法は、毎回セットを反復処理することです。ただし、これを高速化する方法を探しています。これを などの別の形式に変換してIDictionary
も問題ありませんが、これをオフハンドで行う賢い方法は思いつきません。