657. Robot Return to Origin

LeetCode оригинал: C# #csharp #leetcode #string

: easy

На плоскости с координатами (0, 0) находится робот. Дана последовательность его движений, определите, возвращается ли робот в исходную точку (0, 0) после завершения всех своих движений.

Вам дана строка moves, представляющая последовательность движений робота, где moves[i] представляет его i-ое движение. Допустимые движения: 'R' (вправо), 'L' (влево), 'U' (вверх) и 'D' (вниз).

Верните true, если робот возвращается в исходную точку после завершения всех своих движений, или false в противном случае.

Примечание: направление, в котором "смотрит" робот, не имеет значения. 'R' всегда будет перемещать робота на один шаг вправо, 'L' всегда будет перемещать его на один шаг влево и т.д. Также предполагается, что величина перемещения робота одинакова для каждого хода.

Пример

Input: moves = "UD"

Output: true

C# решение

сопоставлено/оригинал
public class Solution {
    public bool JudgeCircle(string moves) {
        int x = 0, y = 0;
        foreach (char move in moves) {
            switch (move) {
                case 'R': x++; break;
                case 'L': x--; break;
                case 'U': y++; break;
                case 'D': y--; break;
            }
        }
        return x == 0 && y == 0;
    }
}

C++ решение

auto-draft, проверить перед отправкой
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public bool JudgeCircle(string moves) {
        int x = 0, y = 0;
        foreach (char move in moves) {
            switch (move) {
                case 'R': x++; break;
                case 'L': x--; break;
                case 'U': y++; break;
                case 'D': y--; break;
            }
        }
        return x == 0 && y == 0;
    }
}

Java решение

auto-draft, проверить перед отправкой
import java.util.*;
import java.math.*;

// Auto-generated Java draft from the C# solution. Review API differences before LeetCode submit.
public class Solution {
    public boolean JudgeCircle(String moves) {
        int x = 0, y = 0;
        foreach (char move in moves) {
            switch (move) {
                case 'R': x++; break;
                case 'L': x--; break;
                case 'U': y++; break;
                case 'D': y--; break;
            }
        }
        return x == 0 && y == 0;
    }
}

JavaScript решение

сопоставлено/оригинал
var judgeCircle = function(moves) {
    let x = 0, y = 0;
    for (let move of moves) {
        switch (move) {
            case 'R': x++; break;
            case 'L': x--; break;
            case 'U': y++; break;
            case 'D': y--; break;
        }
    }
    return x === 0 && y === 0;
};

Python решение

сопоставлено/оригинал
class Solution:
    def judgeCircle(self, moves: str) -> bool:
        x, y = 0, 0
        for move in moves:
            if move == 'R':
                x += 1
            elif move == 'L':
                x -= 1
            elif move == 'U':
                y += 1
            elif move == 'D':
                y -= 1
        return x == 0 and y == 0

Go решение

сопоставлено/оригинал
func judgeCircle(moves string) bool {
    x, y := 0, 0
    for _, move := range moves {
        switch move {
        case 'R':
            x++
        case 'L':
            x--
        case 'U':
            y++
        case 'D':
            y--
        }
    }
    return x == 0 && y == 0
}

Algorithm

Инициализация координат:

Начните с координат (0, 0).

Обработка движений:

Пройдите по строке moves и обновляйте координаты в зависимости от движения:

'R' увеличивает координату x на 1.

'L' уменьшает координату x на 1.

'U' увеличивает координату y на 1.

'D' уменьшает координату y на 1.

Проверка конечных координат:

Если после всех движений координаты снова равны (0, 0), верните true. В противном случае, верните false.

😎

Вакансии для этой задачи

Показаны активные вакансии с пересечением по тегам задачи.

Все вакансии
Активных вакансий пока нет.