整数の集合が与えられた場合、問題は長さ 3 の可能な算術級数の数を見つけることからなります。整数の集合はソートされている場合とソートされていない場合があります。
O(n^3) 時間かかる単純なブルートフォース アルゴリズムを実装できますが、時間効率が重要であり、整数のセットは 10^5 まで大きくなる可能性があります。これは、ブルートフォースが明らかに機能しないことを意味します。誰かがC ++でアルゴリズム/疑似コード/コードを提案できますか?
例: 4 つの数字 5,2,7,8 があります。公差が 3 である (2,5,8) の可能性は 1 つしかないので、答えは 1 です。
編集: 1 つの重要なプロパティについて言及するのを忘れていました。指定されたセットの各数は 1 から 30000 (包括的) です。