매트릭스 매트가 있다고 가정합니다. 다음과 같이 몇 가지 다른 값이 있습니다. 행렬의 셀에는 이 3개의 문자 중 하나가 포함될 수 있습니다. 빈 영역은 0입니다. 폭탄 1개. 적을 위한 2개. 이제 폭탄은 한쪽 끝에서 다른 쪽 끝으로 수평 및 수직 방향으로만 폭발할 수 있습니다. 폭탄이 터지면 적들이 모두 죽는지 확인해야 합니다. 따라서 입력이 다음과 같으면 0 0 2 0 0 1 0 0 0 2 0 0 0 0 1 0 그러면 [1, 1] 위치의 폭탄이 [2, 1] 위치의 적을 채울 수 있고 [0, 2]의 적이 [3,
문자열 s와 다른 문자 c가 있다고 가정하고 c의 모든 발생이 s에 함께 나타나는지 여부를 확인해야 합니다. 문자 c가 s에 없으면 true를 반환합니다. 따라서 입력이 s =bbbbaaaaaaccddd, c =a와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 플래그 :=거짓 색인:=0 n :=문자열 크기 인덱스
숫자 n이 n명을 나타내고 두 개의 동일한 투표 기계가 있다고 가정합니다. 또한 time[i]가 i번째 사람이 어떤 기계에서든 투표하는 데 소비한 총 시간을 나타내도록 크기가 n인 시간이라는 배열이 있습니다. 한 번에 두 기계 각각에 한 사람만 있을 수 있습니다. 또한 기계가 작동하는 최대 허용 시간을 나타내는 또 다른 값 x가 있으므로 모든 사람이 투표할 수 있는지 여부를 확인해야 합니다. 따라서 입력이 n =3, x =7, 시간 =[3, 5, 3]과 같으면 출력은 True가 됩니다. 시간 t0에 0번째 사람이 첫 번째 기계로
숫자 n이 있다고 가정하면 이 숫자의 모든 하위 숫자가 고유한 자릿수 곱을 갖는지 여부를 확인해야 합니다. 알다시피, n자리 숫자는 n*(n+1)/2개의 하위 숫자를 갖습니다. 예를 들어, 135의 하위 숫자는 1, 3, 5, 13, 35, 135입니다. 그리고 숫자의 자릿수 곱은 해당 자릿수의 곱입니다. 따라서 입력이 n =235와 같으면 하위 번호가 [2, 3, 5, 23, 35, 235]이고 숫자 곱이 [2, 3, 5, 6, 15, 30이므로 출력은 True가 됩니다. ] 이 문제를 해결하기 위해 다음 단계를 따릅니다. −
이진 문자열 str이 있다고 가정하고 문자열의 모든 1이 등거리인지 여부를 확인해야 합니다. 즉, 두 개의 1 사이의 거리는 동일합니다. 그리고 문자열에는 1이 두 개 이상 포함되어 있습니다. 따라서 입력이 s =100001000010000과 같으면 1이 서로 거리 4에 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 색인 :=새 목록 0에서 s 크기의 범위에 있는 i에 대해 다음을 수행합니다. s[i]가 1과 같으면 색인 끝에 i 삽입 t :=인덱스 크기 1 ~ t - 1 범위의
문자열 s가 있다고 가정하고 회문 하위 문자열의 길이가 홀수인지 여부를 확인해야 합니다. 따라서 입력이 s =levelopmadam과 같으면 두 개의 회문 부분 문자열 level과 madam이 모두 홀수 길이이므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 0에서 s 크기의 범위에 있는 i에 대해 다음을 수행합니다. temp :=빈 문자열 i 범위에서 s 크기의 j에 대해 다음을 수행합니다. temp :=임시 연결 s[j] temp의 크기가 짝수이고 temp가 회문이면 거짓을 반환
숫자 배열이 있고 또 다른 숫자 k가 있다고 가정하면 주어진 배열이 모든 쌍의 합이 k로 나눌 수 있도록 쌍으로 나눌 수 있는지 확인해야 합니다. 따라서 입력이 arr =[5, 15, 6, 9] k =7과 같으면 (5, 9) 및 (15, 6)과 같은 쌍을 취할 수 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=배열의 크기 n이 홀수이면 거짓을 반환 occurrences :=빈 사전, 일부 키가 없으면 누락된 키의 값으로 0을 반환 0에서 n 사이의 i에 대해 발생 횟수[(
num이라는 배열이 있다고 가정합니다. 또한 범위 [x, y]를 정의하는 두 개의 숫자 x와 y가 있습니다. 배열에 지정된 범위의 모든 요소가 포함되어 있는지 확인해야 합니다. 따라서 입력이 nums =[5,8,9,6,3,2,4] x =2 y =6과 같으면 모든 요소 [2,3,4,5]가 있으므로 출력은 참이 됩니다. ,6]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − temp_range :=y - x 0에서 숫자 크기 범위의 i에 대해 =x 및 |nums[i]| <=y, 다음 z :=|숫자[i]| - x 0이면 n
n개의 고유한 값으로 구성된 배열이 있다고 가정합니다. 이 배열이 정렬되어 시계 반대 방향으로 회전했는지 확인해야 합니다. 여기에서는 완전히 정렬된 배열이 정렬 및 회전된 것으로 간주되지 않도록 최소한 한 번의 회전이 필요합니다. 따라서 입력이 nums =[4,5,6,8,1,3]과 같으면 시계 방향으로 두 번 회전할 수 있으므로 출력은 True가 됩니다. 그러면 [1, 3, 4, 5, 6, 8]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − min_element :=최소 숫자 min_index :=min_element의
1과 2만 저장하는 배열 num이 있다고 가정합니다. 배열을 두 부분으로 나누어 각 부분의 요소 합이 같도록 할 수 있는지 확인해야 합니다. 따라서 입력이 nums =[1, 1, 2, 2, 2]와 같으면 이 배열을 [1, 1, 2] 및 [2, 2] 합과 같이 나눌 수 있으므로 출력은 True가 됩니다. 각 부분은 4입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 총계 :=0, one_count :=0 total :=nums의 모든 요소의 합 one_count :=1의 개수(숫자) 합계가 짝수이면 거짓을 반환 (
num이라는 숫자 배열이 있다고 가정합니다. 배열이 이진 탐색 트리의 요소를 inorder 순회 순서로 보유하고 있는지 여부를 확인해야 합니다. 따라서 입력이 nums =[5, 8, 15, 18, 20, 26, 39]와 같으면 출력은 의 중위 순회이므로 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 크기 :=숫자 크기 크기가 0 또는 1이면 참 반환 범위 1에서 크기 - 1까지의 i에 대해 다음을 수행합니다. 숫자[i]이면 거짓을 반환 참 반환 이해를 돕기 위해 다음 구현을 살펴보겠
num이라는 배열이 k 크기의 이진 문자열의 인코딩을 나타낸다고 가정하고 주어진 인코딩이 이진 문자열을 고유하게 찾는지 여부를 확인해야 합니다. 여기에서 인코딩에는 단일 0으로 구분되는 연속 1 수가 있습니다. 따라서 입력이 nums =[4, 2, 3] k =11과 같으면 k =11의 11110110111과 같은 이진 문자열이 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − total :=nums의 모든 요소 합계 총계 :=총계 + 숫자 크기 - 1 총계가 k와 같으면 true를 반환하고
숫자 n이 있다고 가정하면 n이 두 반소수의 합으로 표현될 수 있는지 여부를 확인해야 합니다. 우리가 알다시피 반소수는 두 소수의 곱으로 표현할 수 있는 수입니다. 처음 몇 개의 반소수는 (1 - 100 범위):4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95. 따라서 입력이 n =108과 같으면 출력은 True가 됩니다. 이 합은 14이고 94
문자열 s가 있다고 가정합니다. 해당 문자열의 아나그램이 회문을 형성하는지 여부를 확인해야 합니다. 따라서 입력이 s =aarcrec과 같으면 출력은 True가 됩니다. 이 문자열의 하나의 아나그램은 회문인 racecar입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − freq :=모든 문자와 주파수를 저장하는 맵 홀수_카운트:=0 freq의 모든 값 목록에 있는 각 f에 대해 do f가 홀수이면 odd_count :=odd_count + 1 1이면 거짓을 반환 참 반환 이해를 돕기 위해 다음 구현
값 (a,b)로 구성된 간격 세트가 주어졌다고 가정합니다. 여기서 b는 이벤트의 시작 시간을 나타내고 b는 이벤트의 종료 시간을 나타냅니다. 우리의 임무는 이러한 간격 중 하나가 이 세트의 다른 간격과 완전히 겹치는지 확인하는 것입니다. 간격 중 하나라도 겹치면 결과를 True로 반환하고 그렇지 않으면 False를 반환합니다. 따라서 입력이 [(4,6), (10,12), (7,9), (13,16)]과 같으면 출력은 False가 됩니다. 입력이 [(4,6), (4,9), (7,11), (5,8)]과 같으면 출력은 True가 됩니다.
어떤 숫자가 주어지고 그 숫자가 17로 나누어 떨어지는지 확인해야 한다고 가정합니다. 따라서 입력이 99943과 같으면 출력은 분할 가능합니다. 반복 빼기 방법을 사용하여 이 문제를 해결할 것입니다. 여기서 숫자의 마지막 숫자를 추출하고 17로 나누어 떨어지는 두 자리 숫자를 얻을 때까지 숫자에서 5번 뺍니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자가 100으로 나누어 떨어지는 동안 do last_digit :=숫자 모드 10 숫자 :=(숫자를 10으로 나눈 값) 숫자 :=숫자 - last_digit * 5
큰 숫자가 주어지고 그 숫자가 19로 나누어 떨어지는지 확인해야 한다고 가정해 보겠습니다. 따라서 입력이 86982와 같으면 출력은 나누기 가능이 됩니다. 숫자에서 마지막 숫자를 추출하고 2를 곱하고 19로 나누어 떨어지는 두 자리 숫자가 나올 때까지 나머지 숫자에 결과를 더하는 반복 더하기 방법을 사용하여 이 문제를 해결할 것입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자가 100으로 나누어 떨어지는 동안 do last_digit :=숫자 모드 10 숫자 :=(숫자를 10으로 나눈 값) 숫자 :=숫자 +
큰 숫자가 제공되고 해당 숫자의 자릿수가 8로 나누어 떨어지는 순열이 있는지 확인해야 한다고 가정합니다. 숫자는 문자열 형식으로 제공됩니다. 따라서 입력이 input_num =4696984와 같으면 출력은 8로 나눌 수 있음이 됩니다. 이 문제를 해결하기 위해 숫자의 자릿수로 가능한 모든 세 자리 순열을 확인하고 숫자의 모든 자릿수 순열에서 발생할 수 있는지 확인합니다. 8로 나눌 수 있는 세 자리 순열이 숫자의 모든 자리 순열 끝에 발생하면 순열을 8로 나눌 수 있다고 말합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다
큰 양의 정수 N이 제공된다고 가정합니다. 숫자 순열에서 숫자를 찾을 수 있는지 확인해야 합니다. 순열은 역 형태, 즉 회문과 같으며 3으로도 나눌 수 있습니다. 예를 들어, 숫자 132213이 있다고 가정합니다. 숫자의 자릿수에서 순열을 확인하면 123321을 얻습니다. 이것은 회문이며 3으로도 나눌 수 있습니다. 입력된 숫자에서 가능한 순열이 있는지 확인해야 합니다. 위의 조건을 만족합니다. 따라서 입력이 input_num =132213과 같으면 출력은 하나 이상의 순열은 회문이며 3으로 나눌 수 있음이 됩니다. 이 문제를
2 ≤ n ≤ 1018 및 2 ≤ m ≤ n과 같은 두 개의 양의 정수 n과 m이 있다고 가정합니다. 우리의 목표는 숫자 n의 모든 숫자 순열이 있는지 알아내는 것입니다. 그래서 그것은 m의 어떤 거듭제곱과 같습니다. 하나가 있는 경우 m의 거듭제곱과 동일한 n의 모든 숫자 순열이 존재한다고 명시하고, 그렇지 않으면 이전 진술을 거짓으로 명시합니다. 예를 들어, n =7182 및 m =12가 주어집니다. 1728은 7182 및 1728 =12^3의 모든 자릿수 순열이므로 n의 모든 자릿수 순열은 m의 거듭제곱과 같습니다. . 따