LeetCode una pregunta por día 55. Descripción del doble cien de eficiencia C / C ++ del juego de salto

LeetCode una pregunta por día 55. Descripción del doble cien de eficiencia C / C ++ del juego de salto

  Hola a todos, mi nombre es oficial Qi Jie (QI guān jié), goteo RDCC registrado en el curso de aprendizaje, el tiempo vuela, el futuro se puede esperar, alimentando ~ dirección del blog es: el blog oficial de Qi Jie , el blog oficial de Qi Jie 2 .


Titulo

Dificultad media

Dada una matriz de enteros no negativos, inicialmente se encuentra en la primera posición de la matriz.

Cada elemento de la matriz representa la longitud máxima que puede saltar en esa posición.

Determine si puede alcanzar la última posición.

Ejemplo 1:

输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。

Ejemplo 2

输入: [3,2,1,0,4]
输出: false
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。

Solución 1: codicia

  Podemos usar codicioso para resolver este problema. Utilizamos una variable positionpara registrar la posición máxima que se puede alcanzar, y luego atravesar la matriz desde 0 para encontrar la posición máxima que se puede alcanzar al caminar a cada posición. La posición máxima es mayor que n-1, puede ir al final, regresamos true, si después del final del recorrido aún no llega al final, no puede llegar al final, es decir, regresar false.

El código de solución completo es:

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int n = nums.size();
        int position = 0;
        for (int i = 0; i < n; ++i) {
            if (i <= position) {
                position = max(position, i + nums[i]);
                if (position >= n - 1) {
                    return true;
                }
            }
        }
        return false;
    }
};

La eficiencia de ejecución del algoritmo codicioso en este momento es:
Inserte la descripción de la imagen aquí

La eficiencia de ejecución del algoritmo codicioso en esta pregunta ya es muy alta, por lo que no planeo pensar en otras soluciones más. Los amigos pueden compartir si hay una solución mejor.

  Hola a todos, mi nombre es oficial Qi Jie (QI guān jié), goteo RDCC registrado en el curso de aprendizaje, el tiempo vuela, el futuro se puede esperar, alimentando ~ dirección del blog es: el blog oficial de Qi Jie , el blog oficial de Qi Jie 2 .

195 artículos originales publicados · Me gusta 1582 · Visitas 130,000+

Supongo que te gusta

Origin blog.csdn.net/qq_43422111/article/details/105575408
Recomendado
Clasificación