たとえば、46、47、54、58、60、および 66 という数字があります。可能な限り最大のグループ サイズになるように、それらをグループ化したいと考えています。値がプラスまたはマイナス 10 (両端を含む) の範囲内にある場合、数値はグループ化されます。したがって、開始する数値に応じて、この例では 3 つの結果が考えられます (画像を参照)。
44 から 64 までの数字がグループ化され、66 だけが残り、最大のグループ (5 項目) が作成されるため、54 から始めた場合に発生する可能性のある 2 番目の結果が必要です。
この例では簡単にブルート フォースを実行できることはわかっていますが、実際には長い数のリストがあり、何千もの数にわたってこれを行う必要があります。読むべきアルゴリズムについて教えてくれたり、提案をくれたりできますか?