[LeetCode en Python] 1306 (M) juego de salto iii Juego de salto III

Titulo

https://leetcode-cn.com/problems/jump-game-iii/

Hay una matriz de enteros no negativos, arr, y usted está al comienzo de la matriz. Cuando esté en el subíndice i, puede saltar a i + arr [i] o i-arr [i].
Por favor, juzgue si puede saltar a cualquier subíndice donde el valor del elemento correspondiente sea 0.
Tenga en cuenta que no importa cuál sea la situación, no puede saltar fuera de la matriz.

Ejemplo 1:

Entrada: arr = [4,2,3,0,3,1,2], inicio = 5
Salida: verdadero

Explicación: El subíndice
3 con un valor de 0 tiene las siguientes soluciones posibles:
subíndice 5-> subíndice 4-> subíndice 1-> subíndice 3
subíndice 5-> subíndice 6-> subíndice 4-> subíndice 1-> subíndice 3

Ejemplo 2

Entrada: arr = [4,2,3,0,3,1,2], inicio = 0
Salida: verdadero

Explicación: El subíndice
3 con un valor de 0 tiene las siguientes soluciones posibles:
subíndice 0-> subíndice 4-> subíndice 1-> subíndice 3

Ejemplo 3

Entrada: arr = [3,0,2,1,2], inicio = 2
Salida: falso

Explicación: No se puede alcanzar el subíndice 1 con un valor de 0.

Consejos:

1 <= longitud de llegada <= 5 * 10 ^ 4
0 <= arr [i] <longitud de llegada
0 <= inicio <longitud de llegada

Ideas para resolver problemas

  • Proceso BFS estándar
  • Utilice el seen_setalmacenamiento establecido para acceder a los subíndices
  • Al atravesar la amplitud, además de juzgar si ha sido visitado, también es necesario verificar si ha cruzado los bordes izquierdo y derecho

Código

class Solution:
    def canReach(self, arr: List[int], start: int) -> bool:
        seen_set = set([start])
        q = [start]
        while q:
            p = q.pop(0)
            if arr[p] == 0:
                return True

            for k in [p-arr[p], p+arr[p]]:
                if k in seen_set: continue
                
                if 0 <= k <= len(arr)-1:
                    q.append(k)
                    seen_set.add(k)
        
        return False

Supongo que te gusta

Origin www.cnblogs.com/journeyonmyway/p/12729645.html
Recomendado
Clasificación