leetcode-середине динамического программирования-55. Перейти игры

mycode 71,47%

Идеи:

Если он хочет, чтобы дойти до конца, вы можете Anjiu в обратном направлении, чтобы достичь п, вы можете иметь следующую ситуацию

1) до N-1, то это положение может, по крайней мере сделать шаг

2) к N-2, то это положение может, по крайней мере два шага

3) достигает п-3, и это положение может, по крайней мере три шага

....

 emmmm ... хотел написать функцию в соответствии с этим методом, мы нигде не нашли бежать. , , , Я просто положить вверх вниз список, число больше, чем равное время, он может достичь номера, но когда этот номер временно не в состоянии достичь, мне нужно добавить номер к следующему шагу он требует

класс Solution (объект):
     Защита canJump (самоповреждения, НУМС):
         "" " 
        : тип НУМС: Список [INT] 
        : RTYPE: BOOL 
        """ 
        НУМС [:] = Nums [:: - 1 ] 
        длина = Len (НУМС) 
        шаг = 1
         для I в диапазоне (1 , длина):
             если НУМС [я]> = шаг: 
                шаг = 1
                 продолжают 
            еще : 
                шаг + 1 =
         возврат шаг == 1

 

Ссылка:

Я почти сказал разницу: моя цель - постоянно измерять расстояние, его цель - изменение назначения

класс Solution (объект):
     Защита canJump (самоповреждения, НУМС):
         "" " 
        : тип НУМС: Список [INT] 
        : RTYPE: BOOL 
        """ 
        если  не НУМС или LEN (НУМС) == 1: вернуть Истинный 
        дез = LEN ( НУМС) - 1
         для я в диапазоне (LEN (НУМС) -2, -1, -1 ):
             если НУМС [я]> = дез - я: 
                дез = я
         вернуть дез == 0

 

рекомендация

отwww.cnblogs.com/rosyYY/p/10978792.html