이동이 주어진 원이 있는지 확인

솜털 같은

HackerRank에서 이와 유사한 질문을 받았습니다. 서클이 있는지 확인합니다.

차이점은 F가 G로 대체되었다는 것입니다 (즉, G는 한 단계 앞으로 이동 함을 의미 함).

나는 수락 된 답변에 설명 된 것과 같은 알고리즘을 구현했지만 테스트 사례 하나에 실패했습니다. 누군가 나를 위해 버그를 찾을 수 있습니까?

static String checkIfCircleExists(String s) {
        int x = 0;
        int y = 0;
        int dir = 0;

        for (char c : s.toCharArray()) {
            switch (c) {
                case 'G':
                    switch (dir) {
                        case 0:
                            y++;
                            break;
                        case 1:
                            x++;
                            break;
                        case 2:
                            y--;
                            break;
                        case 3:
                            x--;
                            break;
                    }
                    break;
                case 'L':
                    dir = Math.abs((dir - 1) % 4);
                    break;
                case 'R':
                    dir = Math.abs((dir + 1) % 4);
                    break;
            }
        }

        if (x == 0 && y == 0) {
            return "YES";
        }
        return "NO";
    }

편집하다

이것은 도우미 메서드입니다. 이 도우미 메서드에 대한 입력은 원래 입력 문자열의 세 복사본과 연결된 원래 입력 문자열입니다. 예를 들어, 입력 "G"의 경우 "GGGG"가이 도우미에 전달됩니다.

MBO

코드 (dir - 1) % 4가 귀하의 언어로 의도 한대로 작동 합니까 ?

그렇지 않은 경우 다음으로 교체하십시오. (dir + 3) % 4

질문 편집 후 실제는 아니지만 런타임을 줄이는 데 유용 할 수 있습니다.

이사는 두 가지 경우에 제한됩니다.

  1. 최종 변위는 0입니다 (솔루션에서이 경우 확인).
  2. 최종 방향이 초기 방향과 다릅니다 (이 경우 개체가 2-4 라운드 후에 초기 위치로 돌아옴)

두 번째는 무시한 것 같습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

NSMutableArray에 주어진 값이 포함되어 있는지 확인

분류에서Dev

주어진 URI에 응답하는 앱이 있는지 확인

분류에서Dev

사전에 주어진 문자열이 있는지 확인

분류에서Dev

Python : 주어진 정규식이 파일에 있는지 확인

분류에서Dev

주어진 perforce 레이블이 있는지 확인하십시오.

분류에서Dev

CSV 문자열에 주어진 값이 포함되어 있는지 확인 C #

분류에서Dev

주어진 배열에 a = b * 2가되는 쌍 (a, b)이 있는지 확인

분류에서Dev

주어진 파일이 열려 있는지 확인하는 SFTP 방법

분류에서Dev

주어진 수학 함수에서 주어진 간격에 몇 개의 0이 있는지 확인

분류에서Dev

jQuery Datatables-주어진 ID를 가진 행이 현재 페이지에 있는지 확인하는 방법

분류에서Dev

Awk : 필드 값이 주어진 값 중 하나에 있는지 확인

분류에서Dev

주어진 시간 동안 SQL 서버 테이블을 잠그고 잠겨 있는지 확인하십시오.

분류에서Dev

주어진 시간 슬롯에 현재 시간이 있는지 확인하고 주어진 날짜 배열 사이에 날짜가 있는지 찾는 방법

분류에서Dev

주어진 드라이버 커널 모듈이 주어진 장치를 지원하는지 확인하는 방법은 무엇입니까?

분류에서Dev

요소 이름에 주어진 문자열이 포함되어 있는지 확인하는 방법

분류에서Dev

주어진 이메일이 Firebase 인증에 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

임의의 원에 주어진 포인트 세트의 k 개 이상의 포인트가 포함되어 있는지 확인

분류에서Dev

주어진 확인란에서 어떤 확인란이 선택되었는지 확인

분류에서Dev

주어진 문자열이 수학 함수인지 R에 없는지 확인

분류에서Dev

zsh 배열에 주어진 값이 포함되어 있는지 어떻게 확인합니까?

분류에서Dev

주어진 범위에서 셀이 비어 있지 않은지 확인하는 VBA

분류에서Dev

Kusto의 주어진 테이블에 쌍이 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

여러 테이블에 주어진 ID에 대한 행이 있는지 확인하는 방법

분류에서Dev

주어진 연결이 내 VPN을 통과하는지 어떻게 확인할 수 있습니까?

분류에서Dev

그룹에 주어진 열의 특정 값이 포함되어 있는지 SQL 확인 (ORACLE)

분류에서Dev

주어진 경로를 검사하여 하위 도메인 제약 조건이 있는지 확인

분류에서Dev

어레이에 동일한 항목이 있는지 확인

분류에서Dev

드롭 다운 목록에 주어진 목록의 모든 항목이 있는지 확인하는 방법

분류에서Dev

Maven 종속성이 주어진 범위에 있는지 확인하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    NSMutableArray에 주어진 값이 포함되어 있는지 확인

  2. 2

    주어진 URI에 응답하는 앱이 있는지 확인

  3. 3

    사전에 주어진 문자열이 있는지 확인

  4. 4

    Python : 주어진 정규식이 파일에 있는지 확인

  5. 5

    주어진 perforce 레이블이 있는지 확인하십시오.

  6. 6

    CSV 문자열에 주어진 값이 포함되어 있는지 확인 C #

  7. 7

    주어진 배열에 a = b * 2가되는 쌍 (a, b)이 있는지 확인

  8. 8

    주어진 파일이 열려 있는지 확인하는 SFTP 방법

  9. 9

    주어진 수학 함수에서 주어진 간격에 몇 개의 0이 있는지 확인

  10. 10

    jQuery Datatables-주어진 ID를 가진 행이 현재 페이지에 있는지 확인하는 방법

  11. 11

    Awk : 필드 값이 주어진 값 중 하나에 있는지 확인

  12. 12

    주어진 시간 동안 SQL 서버 테이블을 잠그고 잠겨 있는지 확인하십시오.

  13. 13

    주어진 시간 슬롯에 현재 시간이 있는지 확인하고 주어진 날짜 배열 사이에 날짜가 있는지 찾는 방법

  14. 14

    주어진 드라이버 커널 모듈이 주어진 장치를 지원하는지 확인하는 방법은 무엇입니까?

  15. 15

    요소 이름에 주어진 문자열이 포함되어 있는지 확인하는 방법

  16. 16

    주어진 이메일이 Firebase 인증에 있는지 확인하는 방법은 무엇입니까?

  17. 17

    임의의 원에 주어진 포인트 세트의 k 개 이상의 포인트가 포함되어 있는지 확인

  18. 18

    주어진 확인란에서 어떤 확인란이 선택되었는지 확인

  19. 19

    주어진 문자열이 수학 함수인지 R에 없는지 확인

  20. 20

    zsh 배열에 주어진 값이 포함되어 있는지 어떻게 확인합니까?

  21. 21

    주어진 범위에서 셀이 비어 있지 않은지 확인하는 VBA

  22. 22

    Kusto의 주어진 테이블에 쌍이 있는지 확인하는 방법은 무엇입니까?

  23. 23

    여러 테이블에 주어진 ID에 대한 행이 있는지 확인하는 방법

  24. 24

    주어진 연결이 내 VPN을 통과하는지 어떻게 확인할 수 있습니까?

  25. 25

    그룹에 주어진 열의 특정 값이 포함되어 있는지 SQL 확인 (ORACLE)

  26. 26

    주어진 경로를 검사하여 하위 도메인 제약 조건이 있는지 확인

  27. 27

    어레이에 동일한 항목이 있는지 확인

  28. 28

    드롭 다운 목록에 주어진 목록의 모든 항목이 있는지 확인하는 방법

  29. 29

    Maven 종속성이 주어진 범위에 있는지 확인하는 방법은 무엇입니까?

뜨겁다태그

보관