이 문제에서는 선의 시작점과 끝점인 두 점 A와 B가 주어집니다. 우리의 임무는 C++에서 줄의 중간점을 찾는 프로그램을 만드는 것입니다. 문제 설명 − 여기에 시작점과 끝점 A(x1, y1)와 B(x2, y2)가 있는 선이 있습니다. 그리고 우리는 선의 중간점을 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 a(x1, y1) = (4, -5) b(x2, y2) = (-2, 6) 출력 (1, 0.5) 설명 (x1 + x2)/2 = 4 - 2 / 2 = 1 (y1 + y2)/2 = -5 + 6 / 2 = 0.
이 문제에서는 n개의 정수로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 C++에서 배열의 최소 및 최대 요소를 찾는 프로그램을 만드는 것입니다. 문제 설명 − 여기에 배열 arr[]이 있습니다. 은 n개의 정수 값을 포함합니다. 배열의 모든 값 중에서 최대값과 최소값을 찾아야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {2, 1, 6, 9, 4, 10, 15, 21} 출력 max = 21 , min = 1 솔루션 접근 방식 문제에 대한 여러 솔루션이 있을 수 있습니다. 단일 솔루션 배열
배열 A가 있다고 가정합니다. 일부 시작 인덱스에서 일련의 점프를 만들 수 있습니다. 연속으로 위치(1, 3, 5, ...) 점프하는 것을 홀수 점프라고 하고, 시리즈에서 위치(2, 4, 6, ...)로 점프하는 것을 짝수 점프라고 합니다. 이제 인덱스 i에서 다음과 같은 방식으로 인덱스 j(i
1개의 2차원 그리드가 있다고 가정하면 4가지 유형의 정사각형이 있습니다. − 정사각형에서 1은 시작점입니다. 정확히 하나의 시작 사각형이 있을 것입니다. 정사각형에서 2는 끝점입니다. 정확히 하나의 끝 사각형이 있습니다. 사각형에서 0은 빈 사각형이고 우리는 건너갈 수 있습니다. 우리가 걸을 수 없는 장애물의 경우 사각형에서 -1입니다. 시작 사각형에서 끝 사각형까지의 4방향 보행 횟수를 찾아야 합니다. 이 보행은 모든 장애물이 없는 사각형을 정확히 한 번만 지나야 합니다. 따라서 입력이 다음과 같으면
바이너리 트리가 있다고 가정합니다. 바이너리 트리의 루트에서 사전 주문 깊이 우선 검색을 실행할 것입니다. 이 탐색의 각 노드에서 출력은 D 수의 대시(여기서 D는 이 노드의 깊이)가 된 후 이 노드의 값을 표시합니다. 노드의 깊이가 D이면 직계 자식의 깊이는 D+1이고 루트 노드의 깊이는 0입니다. 노드에 자식이 하나만 있는 경우 해당 자식은 왼쪽 자식으로 보장된다는 점을 명심해야 합니다. 따라서 이 탐색의 출력 S가 제공되면 트리를 복구하고 루트를 반환합니다. 따라서 입력이 1-2--3--4-5--6--7과 같으면 출력은
퍼즐 문자열이 있다고 가정하고 다음 조건이 모두 유효한 경우 단어는 유효합니다 - 단어는 퍼즐의 첫 글자를 포함합니다. 단어의 각 문자에 대해 해당 문자는 퍼즐에 있습니다. 예를 들어 퍼즐이 abcdefg와 같으면 유효한 단어가 얼굴, 양배추 등이라고 가정합니다. 그러나 일부 유효하지 않은 단어는 a가 없기 때문에 beefed이고 퍼즐에 없는 based가 있기 때문에 based입니다. 답 목록을 찾아야 합니다. 여기서 답[i]는 퍼즐 퍼즐[i]과 관련하여 유효한 주어진 단어 목록 단어의 단어 수입니다. 따라서 입
arrLen 크기의 배열이 있고 해당 배열의 인덱스 0에 포인터도 있다고 가정합니다. 각 단계에서 배열에서 왼쪽으로 1칸, 오른쪽으로 1칸 이동하거나 같은 위치에 머물 수 있습니다. 이제 두 개의 정수 단계와 rrLen이 있다고 가정하고 포인터가 정확한 단계 후에 여전히 인덱스 0에 있도록 하는 방법의 수를 찾아야 합니다. 답이 매우 크면 모듈로 10^9 + 7을 반환합니다. 따라서 입력이 단계 =3, arrLen =2와 같으면 3단계 후에 인덱스 0을 유지하는 4가지 다른 방법이 있으므로 출력은 4가 됩니다. [Right, L
그리드 arr가 있다고 가정합니다. 이것은 정사각형 그리드입니다. 0이 아닌 이동이 있는 하강 경로는 arr의 각 행에서 정확히 하나의 요소를 선택하므로 인접한 행에서 선택된 두 요소가 동일한 열에 존재하지 않습니다. 0이 아닌 이동이 있는 하강 경로의 최소 합을 찾아야 합니다. 따라서 입력이 [[1,2,3],[4,5,6],[7,8,9]]와 같은 입력이면 다른 하강 경로가 있으므로 출력은 13이 됩니다. [1,5,9], [1,5,7], [1,6,7], [1,6,8], [2,4,8], [2,4,9]와 같습니다. , [2,6,7],
m x n 그리드가 있다고 가정하고 여기서 각 셀은 0 또는 1입니다. 0 셀은 비어 있고 1은 차단됩니다. 한 단계에서 빈 셀에서 위, 아래, 왼쪽 또는 오른쪽으로 이동할 수 있습니다. 최대 k 개의 장애물을 제거할 수 있다고 가정할 때 왼쪽 위 모서리 셀(0, 0)에서 오른쪽 아래 모서리 셀(m-1, n-1)까지 걸어가는 최소 단계 수를 찾아야 합니다. 그런 방법이 없으면 -1을 반환합니다. 따라서 입력이 다음과 같으면 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 k가 1이고 장애물을 제거하지 않은 최단
n개의 상자가 있다고 가정하고 여기서 각 상자는 [상태, 사탕, 키, 포함된 상자]와 같은 형식으로 제공됩니다. 몇 가지 제약 조건이 있습니다. − status[i]:an은 box[i]가 열려 있을 때 1이고 box[i]가 닫혀 있을 때 0입니다. 사탕[i]:상자[i]에 들어 있는 사탕의 수입니다. keys[i]:배열은 box[i]의 키로 열 수 있는 상자의 인덱스를 포함합니다. includedBoxes[i]:배열은 box[i]에서 찾은 상자의 인덱스를 포함합니다. initialBoxes 배열에 제공된 몇
사각형 문자 보드가 있다고 가정해 보겠습니다. 우리는 문자 S로 표시된 오른쪽 하단 사각형에서 시작하여 보드에서 이동할 수 있습니다. 이제 E 문자가 표시된 왼쪽 상단 사각형에 도달해야 합니다. 다른 사각형은 1에서 9까지의 숫자 또는 장애물 X로 레이블이 지정됩니다. 한 번의 이동으로 장애물이 없을 때만 위, 왼쪽 또는 위 왼쪽으로 이동할 수 있습니다. 우리는 두 개의 숫자 목록을 찾아야 합니다. 첫 번째 숫자는 수집할 수 있는 숫자의 최대 합이고 두 번째 숫자는 최대 합을 얻기 위해 취할 수 있는 경로의 수입니다. 답은 모듈로
방정식이 있다고 가정하고 표현식은 왼쪽에 단어로 표시되고 결과는 오른쪽에 표시됩니다. 다음 규칙에 따라 방정식을 풀 수 있는지 확인해야 합니다. - 각 문자는 한 자리(0 ~ 9)로 디코딩됩니다. 서로 다른 문자의 모든 쌍은 서로 다른 숫자에 매핑되어야 합니다. 각 단어[i]와 결과는 선행 0이 없는 숫자로 디코딩됩니다. 왼쪽에 있는 숫자의 합은 오른쪽에 있는 숫자와 같습니다. 방정식을 풀 수 있는지 여부를 확인합니다. 2, 다음 SEND + MORE =MONEY는 9567 + 1085 =10652와
문자열 S가 있다고 가정합니다. 어떤 문자열과 그 자체를 연결하여 쓸 수 있는 S의 비어 있지 않은 고유한 부분 문자열의 수를 찾아야 합니다. 따라서 입력이 elloelloello와 같으면 ello, lloe, loel, oell과 같은 일부 하위 문자열이 있으므로 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 소수 :=31 m :=1^9 + 7 fastPow() 함수를 정의하면 기본, 전력, 해상도 :=1 0일 때 − power &1이 0이 아닌 경우 - res
아래와 같은 키보드 레이아웃이 있다고 가정합니다. - A 나 C 디 이 F 지 ㅎ 나 제 케이 엘 남 N 오 피 질문 R S 티 U V 여 X 예 Z 각 영문 대문자가 어떤 좌표에 위치하는 경우, 예를 들어 문자 A는 (0,0)에, 문자 B는 (0,1)에, 문자 P는 (2,3)에 배치됩니다. 문자 Z는 (4,1)에 배치됩니다. 이제 단어가 있는 경우 두 손가락만 사용하여 이러한 문자열을 입력할 수 있는 최소 총 거리를 찾아야 합니다. 두 위치 (x1,y1)과 (x2,y2) 사이의 거리는 |x1 -
x축에 1차원 정원이 있다고 가정합니다. 정원의 시작 위치는 0이고 끝 위치는 n입니다. 정원의 [0, 1, ..., n] 지점에 n + 1개의 탭이 있습니다. 우리가 정수 n과 길이 n + 1의 정수 배열 범위가 있고 여기서 범위[i]는 i번째 수돗물이 될 수 있습니다. [i - 범위[i], i + 범위[i]] 엽니다. 정원 전체에 물을 공급할 수 있는 최소 수도꼭지 수를 찾아야 합니다. 가능한 솔루션이 없으면 -1을 반환합니다. 따라서 입력이 n =5이고 범위 =[3,4,1,1,1,0]인 경우 출력은 1이 됩니다. 두 번째
nums라고 하는 하나의 정수 배열이 있다고 가정합니다. 이 배열의 값은 |nums[i]-nums[i+1]|의 합으로 정의됩니다. 범위 0에서 n - 1에 있는 모든 i에 대해. 여기서 n은 배열의 크기입니다. 주어진 배열의 하위 배열을 선택하고 반전할 수 있습니다. 이 작업은 한 번만 수행할 수 있습니다. 그런 다음 최종 배열의 가능한 최대값을 찾아야 합니다. 따라서 입력이 [1,5,4,2,3]과 같으면 출력은 10이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0, 추가 :=0 n :=숫
d일에 작업 목록을 예약하려고 한다고 가정합니다. 작업은 종속적이므로 i 번째 작업을 수행하려면 0 <=j
arr이라는 정수 배열과 정수 d가 있다고 가정합니다. 한 단계에서 인덱스 i에서 -로 이동할 수 있습니다. i + x 여기서:i + x
arr이라는 정수 배열이 있다고 가정합니다. 우리는 처음에 인덱스 0에 있습니다. 한 단계에서 인덱스 i에서 i + x로 이동할 수 있습니다. 여기서 i + x =0. j 여기서:arr[i] 및 arr[j]는 동일하고 i 및 j는 동일하지 않습니다. 여기서 n은 배열의 크기입니다. 배열의 마지막 인덱스에 도달하려면 최소 단계 수를 찾아야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 3이 됩니다. 인덱스 0에서 4로, 3에서 9로 세 번 점프해야 합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의
정수 배열 대상이 있다고 가정합니다. 모두 1로 구성된 시작 배열 A에서 다음 절차를 수행할 수 있습니다. - x를 현재 배열에 있는 모든 요소의 합이라고 생각하십시오. 0에서 n 사이의 인덱스 i를 선택합니다. 여기서 n은 배열의 크기이고 인덱스 i에서 A의 값을 x로 설정합니다. 필요한 만큼 이 절차를 반복할 수 있습니다. A의 대상 배열이 그렇지 않으면 False를 반환하도록 할 수 있는지 확인해야 합니다. 따라서 입력이 [3,9,5]와 같으면 출력은 True가 됩니다. 인덱스 [1,1,1]로 시작할 수