可能なすべての集合{a [i]、a [i + 1]、... a [i + k]}の要素の間で最大値をすべて見つける必要があります(iはインデックス、kは定数) 。このため私は使用しています。与えられた配列のすべてのiとi + k(ある定数)の間の最大値を見つける方法は?
loop(b, 1, k) {
rloopl(i, b, n) {
if(a[i] < a[i-1])
a[i] = a[i-1];
}
}
しかし、それは大きすぎる配列に対しては遅すぎる。これを行うための他のより効率的な方法はありますか?
どのようにこの動的プログラミングですか? – Eidolon108