C 657. ¿Puede el robot volver al origen?

En un plano bidimensional, hay un robot a partir del origen (0, 0). Dada su secuencia de movimiento, determine si el robot termina en (0, 0) después de completar el movimiento.

El orden de movimiento está representado por una cadena de caracteres. El movimiento del personaje [i] indica su movimiento i-ésimo. Las acciones efectivas del robot son R (derecha), L (izquierda), U (superior) y D (inferior). Si el robot vuelve al origen después de completar todas las acciones, devuelve verdadero. De lo contrario, devuelve falso.

Nota: La dirección de la "cara" del robot no importa. "R" siempre moverá el robot hacia la derecha una vez, "L" siempre se moverá hacia la izquierda, etc. Además, se supone que la amplitud de movimiento del robot es la misma cada vez.

 

Ejemplo 1:

Entrada: "UD"
Salida: verdadero
Explicación: El robot se mueve hacia arriba una vez y luego hacia abajo una vez. Todos los movimientos tienen la misma amplitud, por lo que eventualmente regresa al punto donde comenzó. Por lo tanto, volvemos cierto.
Ejemplo 2

Entrada: "LL"
Salida: falso
Explicación: El robot se mueve hacia la izquierda dos veces. En última instancia, se encuentra a la izquierda del origen, con dos "movimientos" fuera del origen. Devolvemos falso porque no regresó al origen al final del movimiento.

Enlace: https://leetcode-cn.com/problems/robot-return-to-origin
Al ver esta carta, quiero usar hash _ (: з) ∠) _, de hecho, esta pregunta es un poco simple

bool judgeCircle ( char * s) // UDLR 4 中 命令
{
     int arr [ 26 ] = { 0 };
    int i, len = strlen (s);
    para (i = 0 ; i <len; i ++ ) 
    { 
        arr [s [i] - ' A ' ] ++ ; 
    } 
    if (arr [ ' U ' - ' A ' ] == arr [ ' D ' - ' A ' ] && arr [ ' L '- ' A ' ] == arr [ ' R ' - ' A ' ]) 
    { 
        return  true ; 
    } else   return  false ; 

}

Solución 2: use el interruptor para otros métodos

bool judgeCircle ( char * mueve) {
     int r = 0 , u = 0 ;
    for ( int i = 0 ; mueve [i]! = ' \ 0 ' ; i ++ ) {
         switch (mueve [i]) {
             case  ' R ' : 
            r ++; romper ;
            caso  ' L ' : 
            r -; romper ;
            caso  ' U ' : 
            u++; romper ;
            caso  ' D ' : 
            u -; romper ; 
        } 
    } 
    if (r == 0 && u == 0 )
         devuelve  verdadero ;
    de lo contrario 
        devuelve  falso ; 
} 
链接 : https: // leetcode-cn.com/problems/robot-return-to-origin/solution/switchshi-yong-ifshi-xian-de-hua-nei-cun-xiao-hao-/

 

Supongo que te gusta

Origin www.cnblogs.com/cocobear9/p/12735207.html
Recomendado
Clasificación