件名の説明:
解決策:DPを使用しての最初の考えでは、複雑なDPが、O(N ^ 2)であるが、タイムアウトしました。、ジャンプ配置として各位置の最大距離まで選択する貪欲貪欲の対象であることが見出さ思います。特に、コードで記述:
ACコード:
INTジャンプ(ベクトル< INT >&NUMS){ int型レン= nums.size()。 int型 ANS = 0 ; もし(LEN == 1)戻り 0 ; 以下のために(INT iが= 0 ; I < レン;) { INT E = I + NUMS [I]。 int型のmx = - 1 ; もし(E> = Len- 1 ) { 年 ++ ; リターン歳; } int型POS; 以下のための(int型 J = I + 1 ; J <= E; J ++ ) { // [保存]を選択ロングジャンプ位置最も遠い IF(MX <J + NUMS [J]) { MX = J + NUMS [J]。 POS = J; } } 私は = POSを。 年 ++ ; } 戻り値は、ANS; }