문제에서는 길이가 다른 n개의 배열이 제공됩니다. 우리의 임무는 m보다 작거나 같은 길이의 최대 합 배열을 찾는 것입니다. 합계를 최대화하고 결합된 모든 하위 배열의 길이를 m과 같게 만들기 위해 배열에서 하위 배열을 찾아야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 n =3, m =4arrOfArr[][] ={ {5, 2, -1, 4, -3} {3, -2, 1, 6} {-2, 0, 5}} 출력 20 설명 부분배열은 {5, 4}, {6}, {5}, 길이 =2 + 1 + 1 =4Sum =5 + 4 + 6 + 5 =
이 문제에서 배열 arr[]와 정수 k가 주어집니다. 우리의 임무는 배열의 모든 K번째 요소를 취하는 최대 합을 찾는 것입니다. 문제 설명:배열 요소가 k 인덱스 떨어져 있도록 배열 요소의 최대 합을 찾아야 합니다. 합계를 최대화해야 합니다. 합계 =arr[i] + arr[i+k] + arr[i + 2*k] + … arr[i + p*k], (i + p*k)
이 문제에서 N개의 정수 값을 요구하는 배열이 주어집니다. 우리의 작업은 arrayarr[]에서 abs(i – j) * min(arr[i], arr[j])의 최대값을 찾는 것입니다. 문제 설명 − 두 요소의 최소값의 최대 곱 값과 해당 인덱스 간의 절대 차이를 찾아야 합니다. 즉, 두 값 i와 j에 대해 abs(i - j) * min(arr[i] , arr[j])을 최대화해야 합니다. 입력 arr[] = {5, 7, 3, 6, 4} 출력 16 설명 The maximum value is 16, between index 0 and
이 문제에서는 n개의 요소로 구성된 배열 arr[]이 제공됩니다. 주어진 배열에서만 회전이 허용되는 Sum( i*arr[i])의 최대값을 찾아야 합니다. (i*arr[i])의 최대 합을 찾기 위해 원하는 만큼 회전을 수행할 수 있습니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {4, 1, 3, 7, 2} 출력 43 설명 최대값을 얻기 위해 배열을 한 번 회전합니다. 회전 후 배열은 {2, 4, 1, 3, 7}이 됩니다. 합계 =0*2 + 1*4 + 2*1 + 3*3 + 4*7 =0 + 4 + 2 + 9
이 문제에서는 각각 다음 유형 중 하나인 Q 쿼리가 제공됩니다. 유형 1 - 데이터 구조에서 값이 i인 요소를 추가하기 위한 삽입(1, i) 유형 2 - findXOR (2, i), 요소 i를 사용하여 데이터 구조의 모든 요소에 대한 XOR을 찾습니다. 데이터 구조는 처음에는 0이 되는 1개의 요소만 포함해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 Queries: (1, 9), (1, 3), (1, 7), (2, 8), (1, 5), (2, 12) 출력 15 15 설명 Solving each query,
이 문제에서는 n개의 요소와 정수 k로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 크기가 k인 하위 배열의 최대 XOR 값을 찾는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 arr[] = {3, 1, 6, 2 ,7, 9} k = 3 출력 12 설명 k 크기의 모든 요소에 대한 모든 하위 배열 및 xor, {3, 1, 6} = 4 {1, 6, 2} = 5 {6, 2, 7} = 3 {2, 7, 9} = 12 솔루션 접근 방식 문제에 대한 간단한 해결책은 두 개의 루프를 사용하는 것입니다. 하나는 배열을
이 문제에서는 크기가 n이고 정수 m인 배열 arr[]이 제공됩니다. 우리의 임무는 주어진 배열에서 하위 배열의 평균을 찾는 것입니다. 코드 설명 − 여기에서 크기가 m인 부분배열의 평균으로 배열의 평균을 구해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {2, 5, 3, 6, 1}, m = 3 출력 3.78 설명 All subarrays of size m are {2, 5, 3}, {5, 3, 6}, {3, 6, 1} Means of means of subarray of size m, $$(\l
이 문제에서는 요소가 행별로 정렬된 2D 배열 mat[r][c]가 제공됩니다. 우리의 임무는 행별로 정렬된 행렬에서 중앙값을 찾는 것입니다. 설명 − 행렬 요소의 중앙값을 찾아야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 mat = { {2, 4, 7}, {5, 6, 8}, {4, 8, 9} } 출력 6 설명 배열에 저장된 행렬의 요소는 &minus입니다. {2, 4, 4, 5, 6, 7, 8, 8, 9} The median is 6. 솔루션
이 문제에서는 선분의 길이를 나타내는 m 크기의 배열 arr[]이 제공됩니다. 선분은 0에서 arr[0], arr[0]에서 arr[1] 등입니다. 우리의 임무는 모든 세그먼트의 중간에 있는 세그먼트를 찾는 것입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {5, 7, 13} 출력 3 설명 Segments are : (0, 5) , (5, 12), (12, 25) 솔루션 접근 방식 문제를 해결하기 위해 (arrSum/2)에 의해 선의 중간점을 찾습니다. 이 중간점이 선분의 시작점 또는 끝점이면 -1을
이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 이진 트리의 최소 깊이를 찾는 것입니다. Binary Tree는 각 노드가 최대 2개의 자식을 가질 수 있는 특별한 조건이 있습니다. 바이너리 트리의 최소 깊이는 루트 노드와 모든 리프 노드 사이의 최단 경로입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 출력 2 솔루션 접근 방식 문제에 대한 해결책은 이진 트리를 탐색하고 높이를 계산하는 것입니다. 이는 노드가 아닌 각 노드에 대해 노드의 자식 노드를 재귀적으로 호출하고 각 리프 노드에 대해 1을 반환하여
이 문제에서는 n개의 양수 요소로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 관계 연산자를 사용하지 않고 배열에서 최소값을 찾는 것입니다. ), 보다 작음(<) 등 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {4, 2, 5, 1, 7} 출력 1 설명 The smallest element is 1. 해결 방법 문제를 해결하는 간단한 방법은 루프를 사용하고 배열의 모든 요소에서 최소 요소를 확인하는 것입니다. 주어진 두 요소 사이의 최소 요소를 찾기 위해 둘 다 1로 줄였을 때 어떤 요소가 먼저 0이
이 문제에서는 n개의 양수로 구성된 배열 arr[]가 주어집니다. 우리의 임무는 배열 회문을 만들기 위한 병합 작업의 최소 수를 찾는 것입니다. 회문 배열 회문 문자열과 유사하며 인덱스 i와 n-i의 요소는 동일해야 합니다. 예시 {5, 1, 7, 2, 7, 1, 5} 문제 설명 − 연산을 수행하여 배열 회문을 만들어야 합니다. 배열에서 유효한 유일한 작업은 인덱스 i와 i+1에 요소를 추가하는 병합 작업입니다. 주어진 배열 회문을 만드는 데 필요한 이러한 작업의 최소 수를 반환해야 합니다. 문제를 이해하기 위해 예를 들어
이 문제에서는 0과 1이 되는 n개의 이진 값으로 구성된 이진 배열 bin[]이 주어집니다. 우리의 임무는 배열을 아름답게 만드는 데 필요한 최소 연산을 찾는 것입니다. 아름다운 배열은 0과 1이 번갈아 나타나는 패턴으로 구성된 특수한 유형의 이진 배열입니다. 문제 설명 − 배열을 아름답게 만드는 데 필요한 숫자 연산을 찾아야 합니다. 작업은 다음 단계로 구성됩니다. - 1단계 − 어레이를 두 부분으로 자릅니다. 2단계 − 두 반쪽 중 하나를 뒤집습니다. 3단계 − 합류했다가 반감합니다. 어레이가 아름다운 어레이가 되도록
이 문제에서는 두 개의 숫자 n과 d가 주어집니다. 우리의 임무는 숫자 d를 더한 후 가능한 최소 자릿수 합을 찾는 것입니다. 문제 설명 − n에 d의 k번째 배수를 추가하여 자릿수 합을 최소화해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 n = 5230, d = 54 출력 1 설명 The number will be 5230 + (2*54) = 5338 솔루션 접근 방식 문제를 해결하는 간단한 방법은 1에서 8까지의 모든 d의 배수를 확인하는 것입니다. 9의 배수에서는 자릿수의 합이 반복되기 때문입니다. 이것
이 문제에서 n개의 숫자와 정수 값 k의 배열이 주어집니다. 우리의 임무는 주어진 요소 제거 규칙에 따라 배열의 가능한 최소 크기를 찾는 것입니다. 문제 설명 - 배열의 요소 수를 최소화해야 합니다. 후속 삭제 작업을 사용하면 한 번에 제거할 수 있는 요소의 수는 3입니다. 3개의 요소가 주어진 두 가지 조건을 만족하면 제거가 가능합니다. 조건 1 조건 2 - 두 인접 요소 간의 차이는 k, 즉 arr[i + 1] =arr[i] + k 및 arr[i+2] =arr[i+1] + k입니다. 문제를 이해하기 위해 예를 들어보겠
이 문제에서는 n개의 요소와 정수 h로 구성된 배열 arr[]가 제공됩니다. 배열 arr[]의 각 요소에는 해당 사람의 보류 중인 작업 수가 포함되고 H는 작업을 완료하는 데 남은 시간(시간)입니다. 우리의 임무는 모든 작업을 완료할 수 있는 최소 속도를 찾는 것입니다. 문제 설명 :H 시간 안에 배열에 주어진 모든 작업을 완료하려면 한 사람이 한 시간에 완료해야 하는 작업의 수를 찾아야 합니다. 그가 1시간 이내에 arr[i]에 지정된 모든 것을 완료할 수 있다면 우리는 나머지 시간 동안 이상적으로 앉아서 시간이 끝나면 다음 작
이 문제에서 2차원 평면의 점 P와 방정식 ax + by + c =0의 점 a, b가 주어집니다. 우리의 임무는 다음을 찾는 것입니다. pointin 2-D 평면의 미러 이미지입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 P = (2, 1), a = 1, b = -1, c = 0 출력 (1, 2) 설명 비행기는 다음과 같습니다. 솔루션 접근 방식 문제를 해결하려면 좌표(x, y)가 있는 방정식 점 P를 찾아야 합니다. 따라서 선 형태 P - P가 거울 선과 교차하는 중간점인 R이 있습니다. 선 P-R-P는 거
이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 이진 트리에서 주어진 노드의 미러를 찾는 것입니다. 노드가 주어지고 반대쪽 하위 트리에서 해당 노드의 미러 이미지를 찾습니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 출력 mirror of B is E. 솔루션 접근 방식 문제를 해결하는 한 가지 간단한 솔루션은 왼쪽 하위 트리와 오른쪽 하위 트리에 대해 두 개의 포인터를 사용하여 루트에서 재귀를 사용하는 것입니다. 그런 다음 미러가 발견되면 대상 값에 대해 미러를 반환하고 그렇지 않으면 다른 노드를 반복합니다.
이 문제에서는 크기가 n인 배열 arr[]와 범위를 나타내는 시작 및 끝 요소가 제공됩니다. 우리의 임무는 범위에서 누락된 요소를 찾는 것입니다. 문제 설명 − 범위에 없는 범위의 요소를 찾습니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 arr[] = {4, 6, 3, 7}, start = 3, end = 8 출력 5, 8 설명 범위는 [3, 4, 5, 6, 7, 8]입니다. 배열은 {4, 6, 3, 7}입니다. 배열에 없는 범위의 요소는 5, 8입니다. 솔루션 접근 방식 이 문제는 여러 가지 방법으로 해결할
이 문제에서는 단일 연결 목록 LL과 숫자 k가 제공됩니다. 우리의 임무는 연결 목록에서 모듈식 노드를 찾는 것입니다. 문제 설명 - 인덱스가 k, 즉 i % k ==0으로 나누어지는 링크드 리스트의 마지막 노드를 찾아야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 ll = 3 -> 1 -> 9 -> 6 -> 8 -> 2, k = 4 출력 6 설명 The element 6 has index 4, which is divisible by 4. 솔루션 접근 방식 이 문제에 대한 간단한 해결책