これは、より良い方法があるかどうかを知りたいタスク固有のコードです。したがって、ロジックとコーディングが好きな人は、私を助けてください。
これは質問です:
A を n 個の正の整数の配列とします。すべての要素が異なります。A[i] > A[j] かつ i < j の場合、ペア (i, j) は A の特別なペアと呼ばれます。与えられた n から A の特別なペアの数を見つけます。
その非常にシンプルでまっすぐです。これが私が実装した次のソリューションです。ロジック部分。
for(int j=0;j<nos.size();j++)
{
for(int k=j+1;k<nos.size();k++)//always maintain condition that i<j and simply compare the numbers.
{
if(nos[j] > nos[k])
{
spc++;//compute special pair.
}
}
}
すべての nos[i] には、特別なペアが計算される配列が含まれています。単一のループを使用してこれを行う方法はありますか? または、時間を節約でき、より高速なその他のロジック。事前に感謝します。これからもっと学びたいと思います。
また、コードを実行せずにどのコードがより高速であるかを判断する方法を教えてください。あなたの意見は大歓迎です。
主な問題は、特別なペアの数を計算することです。したがって、spc の増分だけです。