• 657. Judge Route Circle (Easy)


    Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.

    The move sequence is represented by a string. And each move is represent by a character. The valid robot moves are R (Right), L(Left), U (Up) and D (down). The output should be true or false representing whether the robot makes a circle.

    Example 1:

    Input: "UD"
    Output: true

    Example 2:

    Input: "LL"
    Output: false


    思路:Robot从(0,0)通过上下左右移动,最终会回到初始位置(move:str)。
       1.判断U-D, L-R是否成对出现,即上下或者左右移动次数相同;
       2.横纵坐标移动问题,保证xy最后回到原点,即x=0,y=0;
    # 判断U-D,L-R是否成对出现
    
    class Solution():
        def judgeCircle(self, moves):
            """
            :type moves: str
            :rtype: bool
            """
            return moves.count('L') == moves.count('R') and 
                    moves.count('U') == moves.count('D') 
    # 横纵坐标移动问题
    class Solution():
        def judgeCircle(self, moves):
            """
            :type moves: str
            :rtype: bool
            """
            x = 0
            y = 0
            for i in moves:
                if i == 'L':
                    x -= 1
                elif i == 'R':
                    x += 1
                elif i == 'U':
                    y += 1
                else:
                    y -= 1
            return x == 0 and y == 0    
  • 相关阅读:
    HTML5-Canvas 初认识
    JProfiler入门笔记
    Java 类加载与初始化
    JAVA责任链设计模式
    JAVA观察者模式
    JAVA模板方法模式
    JAVA策略模式
    JAVA装饰器模式
    Java设计模式--------建造者模式(Builder模式)
    供应链电子商务
  • 原文地址:https://www.cnblogs.com/yancea/p/7494820.html
Copyright © 2020-2023  润新知