N 個の数値の配列があります。すべての数字は 1 から k の間です。
問題は、最も頻度の高いトリプレットを見つける最善の方法を見つける方法です。
問題に対する私のアプローチは次のとおりです。
入力が { 1, 2, 3, 4, 1, 2, 3, 4}
最初に、配列の 2 番目の要素から配列の末尾までのトリプレット (1、2、3) の数を検索します。これで、カウントが 1 になります。{ 2, 3, 4) から始めて、配列を検索します。
トリプレットごとに、配列をスキャンしてカウントを見つけます。このように、配列を n-1 回実行します。
このようにして、私のアルゴリズムは n*n 時間の複雑さの順序で実行されます。より良い方法はありますか
この問題。?