-1
私はコード競争の練習問題のために書いた次のコードを持っていますが、実行すると時間が経ちます。主な原因(私が推測している)は、O(n^2)で実行されるdouble forループです。このコードを最適化する方法はありますか?私はmemoizationを乱すことを試みたが、私はそうする方法を理解することはできません。配列の二重の反復を最適化する
for (i=n;i>0;i--){
int index = linearSearch(seq,i,n);
int height = bricks[index];
for (j=0;j<n;j++){
if (j != index){
if (bricks[j] >= height){
while(bricks[j]>=height){
bricks[j]--;
count++;
}
if(bricks[j] < 0){
printf("-1\n");
return 0;
}
}
}
}
bricks[index] = 0;
seq[index] = 0;
}
これは、コードを動作している場合、あなたはそれを取る必要があります[codereview](https://codereview.stackexchange.com/)代わりに。しかし**あなたがそれをやる前に**、あなたのコードの説明を書いてください**。 **ドキュメント**。 –
*このコードは何をする予定ですか*? –
素早く見て、このコードを最適化する方法はたくさんあります... –