이 문제에서 우리는 배열에서 두 번 발생하는 하나의 값과 함께 1에서 N-1까지의 값을 포함하는 크기 N의 정렬되지 않은 배열 arr[]가 제공됩니다. 우리의 임무는 1에서 n-1 사이의 유일한 반복 요소를 찾는 것입니다. . 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {3, 5, 4, 1, 2, 1} 출력 1 해결 방법 문제에 대한 간단한 해결책은 배열을 탐색하고 각 값에 대해 요소가 배열의 다른 위치에 있는지 여부를 찾는 것입니다. 두 번 발생한 값을 반환합니다. 예시 1 솔루션 작동을 설명하는
이 문제에서 선 시작점 A(xA , yA ) 및 중간점 M(xM , y남 ) .우리의 임무는 한쪽 끝과 중간이 주어진 선의 다른 끝점을 찾는 것입니다. . 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 A = [1, 2], M = [3, 0] 출력 [5, -2] 설명 라인은 - 솔루션 접근 방식 문제를 해결하기 위해 수학에서 배운 기하학 개념을 사용할 것입니다. 모든 라인에 대해 중간점 공식이 있다는 것을 기억한다면, mid(x) = (x1 + x2) / 2 mid(y) = (y1 + y2) / 2 그러나 우
이 문제에서는 고유한 값으로 구성된 두 개의 배열 rr1[]과 rr2[]가 제공됩니다. 우리의 임무는 두 배열의 겹치는 합을 찾는 것입니다. 배열의 모든 요소는 고유합니다. 그리고 두 배열에 공통인 요소의 합을 반환해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr1[] = {5, 4, 9, 2}, arr2[] = {6, 3, 9, 4} 출력 2 설명 The elements that are present in both arrays are 9 and 4. The sum is 9 + 9 + 4 + 4 =
이 문제에서는 크기가 N이고 정수 값 M인 배열 arr[]이 제공됩니다. 우리의 임무는 배열에서 마지막으로 제거된 요소의 위치를 찾는 것입니다. . 배열에서 값을 제거하는 작업은 − 작업을 기반으로 합니다. M이면 값을 팝하고 arr[i] - M을 배열의 끝으로 누릅니다. 그렇지 않으면 어레이에서 제거하십시오. 배열이 요소로 구성될 때까지 작업을 수행합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {5, 4, 8}, M = 3 출력 3 설명 Removing values using o
이 문제에서는 크기가 N인 배열 arr[]이 제공됩니다. 이는 1에서 N 사이의 정수 값으로 구성됩니다. 그리고 범위에서 하나의 요소 x가 누락된 반면 배열의 하나의 요소 y는 이중 발생합니다. 우리의 임무는 두 개의 방정식을 사용하여 반복되는 숫자와 누락된 숫자를 찾는 것입니다. . 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {1, 2 , 3, 3} 출력 missing = 4, double = 3 솔루션 접근 방식 문제를 해결하는 방법은 두 값 x와 y에 대해 두 방정식을 사용하는 것입니다. 그런
이 문제에서는 각 행의 요소가 정렬된 이진 행렬이 제공됩니다. 우리의 임무는 최대 개수가 1인 행을 찾는 것입니다. . 문제를 이해하기 위해 예를 들어보겠습니다. 입력 mat[][] = {{ 0 1 1 1} {1 1 1 1} {0 0 0 1} {0 0 1 1}} 출력 1 설명 The count of 1’s in each row of the matrix : Row 0 : 3 Row 1 : 4 Row 2 : 1 Row 3 : 2 솔루션 접근
이 문제에서 정수 값 N이 주어집니다. 우리의 임무는 C ++ 프로그램을 사용하여 N번째 비피보나치 수를 찾는 것입니다. . 피보나치 수열은 두 개의 이전 숫자를 더하여 후속 숫자를 생성합니다. 피보나치 수열은 F0과 F1의 두 숫자로 시작합니다. F0 및 F1의 초기 값은 각각 0, 1 또는 1, 1을 취할 수 있습니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 N = 5 출력 10 해결 방법 이 문제에 대한 간단한 해결책은 피보나치 수를 찾은 다음 피보나치 수에 없는 처음 n개의 수를 인쇄하는 것입니다.
이 문제에서 정수 값 N이 주어집니다. 우리의 임무는 급수의 n번째 항을 찾는 것입니다. - 14, 28, 20, 40, 32, 64, 56, 112… 문제를 이해하기 위해 예를 들어보겠습니다. 입력 N = 6 출력 64 솔루션 접근 방식 계열의 N번째 항을 찾으려면 급수의 일반 항을 찾아야 합니다. 시리즈를 면밀히 관찰해야 하는 이유입니다. 나는 시리즈를 푸는 두 가지 다른 방법을 볼 수 있습니다. 방법 1 시리즈는 짝수 위치와 홀수 위치에 있는 두 개의 서로 다른 시리즈가 혼합된 것입니다. 이상한 위치에서 − 1
이 문제에서는 N개의 범위가 주어집니다. 우리의 임무는 n 범위에서 발생하는 최대 정수입니다. . 모든 범위의 시작 및 끝 값입니다. 가장 많이 발생하는 값을 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 S1 = 1, E1 = 3 S2 = 2, E2 = 6 S3 = 3, E3 = 4 출력 2 솔루션 접근 방식 문제를 해결하는 간단한 접근 방식은 해싱을 사용하는 것입니다. 해시 테이블을 사용하여 모든 구성원과 구성원 수를 계산합니다. 모든 범위를 탐색하고 해시 테이블에 개수를 저장한 다음 최대
이 문제에서는 N개의 정렬된 정수 값과 정수 k로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 정렬된 배열에서 k보다 큰 요소의 수를 찾는 것입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {1, 2, 5, 7, 8, 9} k = 4 출력 4 설명 Elements greater than k = 4 are 5, 7, 8, 9 솔루션 접근 방식 문제에 대한 간단한 해결책은 0에서 N까지 배열에 루프를 사용하는 것입니다. 그런 다음 k보다 큰 첫 번째 요소에서 중지합니다. 그런 다음
이 문제에서는 숫자 K가 주어집니다. 우리의 임무는 합이 K와 같은 최소 피보나치 항을 찾는 것입니다. . 피보나치 수열은 두 개의 이전 숫자를 더하여 후속 숫자를 생성합니다. 피보나치 수열은 F0과 F1의 두 숫자로 시작합니다. F0 및 F1의 초기 값은 각각 0, 1 또는 1, 1을 취할 수 있습니다. 피보나치 수열은 0 1 1 2 3 5 8 13입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 K = 5 출력 2 설명 The sum 5 can be made using 3 and 2. 해결 방법 피보나치
이 문제에서는 숫자 N이 주어집니다. 우리의 임무는 주어진 숫자의 기울기를 찾는 것입니다. . 숫자의 기울기 숫자의 최대 및 최소 자릿수의 총 수입니다. 최대 자릿수 두 이웃(이전 및 다음)이 더 작은 숫자입니다. 최대 자릿수 두 이웃(이전 및 다음)이 더 큰 숫자입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 N = 9594459 출력 2 솔루션 접근 방식 이 문제에 대한 간단한 해결책은 첫 번째와 마지막(최대 또는 최소 형식으로 계산하지 않음)을 제외하고 숫자를 한 자릿수로 순회하는 것입니다. 이제
이 문제에서는 두 개의 배열 arr[] 및 del[]이 제공됩니다. 우리의 임무는 주어진 요소를 삭제한 후 가장 작은 것을 찾는 것입니다. . del[]에 있는 배열 arr[]에서 값을 삭제합니다. 그리고 삭제 후 가장 작은 값을 출력합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {2, 5, 6, 9, 1} del[] = {1, 5, 9} 출력 2 솔루션 접근 방식 문제에 대한 간단한 해결책은 해싱을 사용하는 것입니다. del[] 배열의 모든 값을 해시 테이블에 삽입합니다. 그런 다음 배열
그리드에서 작동하는 청소 로봇을 만들고 있다고 가정해 보겠습니다. 그리드의 치수는 h x w입니다. 정수 쌍 dirt의 배열에 제공되는 청소해야 하는 m개의 더티 셀이 있습니다. 특정 셀에 배치된 경우 청소 로봇; 특정 행과 열의 모든 셀을 정리할 수 있습니다. 따라서 우리의 임무는 최대한 많은 수의 더티 셀을 청소하는 것입니다. 카운트를 찾아 출력으로 표시해야 합니다. 따라서 입력이 h =3, w =3, m =3, 흙 ={{0, 0}, {1, 1}, {2, 1}}인 경우 출력은 3이 됩니다. 청소 로봇을 {1, 0} 셀에 배치하
h x w 차원의 그리드가 주어졌다고 가정합니다. 그리드의 각 셀에는 양의 정수가 포함되어 있습니다. 이제 경로 찾기 로봇이 특정 셀(p, q)(여기서 p는 셀의 행 번호이고 q는 셀의 열 번호)에 배치되어 셀(i, j)로 이동할 수 있습니다. 이동 작업에는 |p - i|와 같은 특정 비용이 있습니다. + |q - j|. 이제 다음과 같은 속성을 가진 q개의 여행이 있습니다. 각 여행에는 두 개의 값(x, y)이 있고 공통 값 d가 있습니다. 로봇이 x 값을 갖는 셀에 배치된 다음 x + d 값을 갖는 다른 셀로 이동합니
n x n 행렬이 있다고 가정합니다. 행렬의 각 요소는 고유하며 1에서 n2 사이의 정수입니다. . 이제 수량과 순서에 관계없이 아래 작업을 수행할 수 있습니다. (1 ≤ x
h x w 차원의 그리드가 있다고 가정합니다. 그리드는 initGrid라는 2D 배열로 표시되며, 그리드의 각 셀은 # 또는 .로 표시됩니다. #은 그리드에 장애물이 있음을 의미하고 . 해당 셀을 통과하는 경로가 있음을 의미합니다. 이제 로봇은 행 번호 x와 열 번호 y를 갖는 그리드의 c 셀에 배치됩니다. 로봇은 행 번호가 p이고 열 번호가 q인 다른 셀 d로 이동해야 합니다. 셀 좌표 c와 d는 모두 정수 쌍으로 표시됩니다. 이제 로봇은 다음과 같은 방식으로 한 셀에서 다른 셀로 이동할 수 있습니다. - 로봇은 이동하려는
n개의 3차원 좌표가 주어졌다고 가정하자. 좌표 (a, b, c)에서 (x, y, z)까지 이동하는 비용은 ∣ x − a∣ + ∣ y − b∣ + max(0, z − c)입니다. 첫 번째 좌표에서 시작하여 모든 좌표를 한 번 이상 방문한 다음 첫 번째 좌표로 돌아갑니다. 우리는 전체 여행의 총 비용을 알아내야 합니다. 좌표는 coords 배열에 제공됩니다. 따라서 입력이 n =3, coords ={{1, 1, 0}, {1, 3, 4}, {3, 2, 2}}인 경우 출력은 12가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니
최소한으로 연결된 그래프가 있다고 가정합니다. 즉, 가장자리를 제거하면 그래프 연결이 끊어집니다. 그래프에는 n개의 정점이 있고 가장자리는 배열 가장자리로 제공됩니다. n개의 정수 값을 포함하는 배열 vertexValues도 제공됩니다. 이제 다음을 수행합니다 - 각 꼭짓점에 양의 정수를 쓴 다음 점수 계산을 시도합니다. 두 정점을 연결하는 모서리가 있습니다. 두 정점 중 작은 값을 모서리에 놓습니다. 모든 에지 값을 더하여 점수를 계산합니다. 정점에 값을 넣어 얻을 수 있는 최대값을 찾아야 합니다. 정점에
2차원 평면에 2n개의 좌표가 주어졌다고 가정하자. 2n 좌표는 coordA 및 coordB의 두 배열로 나뉩니다. 좌표는 정수 쌍으로 표시됩니다. 이제 coordA의 한 점과 coordB의 한 점을 포함하는 좌표 쌍을 형성해야 합니다. coordA로부터의 점의 x좌표가 coordB로부터의 점의 x좌표보다 작고 coordA로부터의 점의 y좌표가 coordB로부터의 점보다 작은 경우에만 쌍을 만들 수 있습니다. 우리는 우리가 만들 수 있는 쌍의 수를 찾아야 하고, 포인트는 여러 쌍에 속할 수 없습니다. 따라서 입력이 n =3과 같으