nums라고 하는 음이 아닌 정수 배열이 있다고 가정하고 이 배열의 차수는 실제로 해당 요소 중 하나의 최대 빈도입니다. nums와 같은 차수를 가진 nums의 연속 하위 배열에서 가능한 가장 작은 길이를 찾아야 합니다. 따라서 입력이 [1,2,2,3,1]과 같으면 출력이 2가 됩니다. 이는 요소 1과 2가 모두 두 번 나타나기 때문에 입력 배열의 차수가 2이기 때문입니다. 차수가 같은 부분배열 - [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2 , 2, 3], [2, 2]
그리드에 마방진 하위 그리드의 수를 찾아야 하는 그리드가 있다고 가정합니다. 마방진은 1에서 9까지의 고유한 숫자로 채워진 3 x 3 그리드로 각 행, 열 및 두 대각선의 합이 모두 동일합니다. 따라서 입력이 다음과 같으면 4 3 8 4 9 5 1 9 2 7 6 2 마방진처럼 출력은 1이 됩니다. 4 3 8 9 5 1 2 7 6 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 값으로 하나의 집합 정의:[816357492, 834159672, 618753294, 672159834,492357816, 438
=2를 선택할 수 있는지 확인하여 전체 데크를 1개 이상의 카드 그룹으로 분할할 수 있는지 확인해야 합니다. 여기서 다음 조건이 충족됩니다. 각 그룹에는 정확히 X개의 카드가 있습니다. 각 그룹의 모든 카드는 동일한 번호를 갖습니다. 따라서 입력이 deck =[1,2,3,4,4,3,2,1]과 같으면 가능한 파티션이 [1,1],[2,2]이므로 출력은 True가 됩니다. [3,3],[4,4]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 지도 MP 정의 덱의 모든 x에 대해 (mp[x] 1씩 증가) mp의 모든
4자리 배열이 있다고 가정하고 만들 수 있는 가장 큰 24시간 시간을 찾아야 합니다. 가장 작은 24시간 시간은 00:00이고 가장 큰 시간은 23:59입니다. 00:00부터 시작하여 자정 이후 시간이 더 경과하면 시간이 더 커집니다. 답을 길이 5의 문자열로 반환해야 합니다. 반환할 유효한 시간이 없으면 빈 문자열을 반환합니다. 따라서 입력이 [1,2,3,4]와 같으면 출력은 23:41이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − isValid() 함수를 정의하면 문자열이 필요합니다. 2이면 - 거짓 반환
이 튜토리얼에서는 100점을 넘지 않는 범위에서 모든 사람에게 보너스를 제공한 후 통과할 수 있는 최대 학생을 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 N 학생의 점수를 포함하는 배열이 제공됩니다. 우리의 임무는 100점을 초과하는 학생 없이 각 학생에게 동일한 양의 보너스 점수를 부여하여 더 많은 학생이 시험에 합격하도록 하는 것입니다(50점 필요). 예시 #include<iostream> #include<algorithm> using namespace std; int check(int n, int
이 자습서에서는 해당 크기의 모든 하위 배열의 합이 k보다 작도록 최대 하위 배열 크기를 찾는 프로그램에 대해 설명합니다. 이를 위해 크기 N과 정수 k의 배열이 제공됩니다. 우리의 임무는 주어진 배열에서 해당 길이의 모든 하위 배열의 합이 k보다 작거나 같도록 하위 배열의 길이를 찾는 것입니다. 예 #include<bits/stdc++.h> using namespace std; //finding maximum length subarray int bsearch(int prefixsum[], int n, int k) {
이 튜토리얼에서는 특정 요소를 제외한 최대 하위 배열 합계를 찾는 프로그램에 대해 설명합니다. 이를 위해 우리는 크기가 M과 N인 두 개의 배열이 제공될 것입니다. 우리의 임무는 하위 배열 내부의 요소가 두 번째 배열 내부에 존재하지 않고 하위 배열의 요소 합계가 다음과 같이 되도록 첫 번째 배열에서 하위 배열을 찾는 것입니다. 최대. 예 #include <bits/stdc++.h> using namespace std; //checking if element is present in second array bool is
이 튜토리얼에서는 반복 연결 후 생성된 배열에서 최대 하위 배열 합계를 찾는 프로그램에 대해 설명합니다. 이를 위해 배열과 정수 K가 제공됩니다. 우리의 임무는 주어진 배열이 K번 반복될 때 최대 요소를 가진 하위 배열을 찾는 것입니다. 예시 #include<bits/stdc++.h> using namespace std; //returning sum of maximum subarray int maxSubArraySumRepeated(int a[], int n, int k) { int max_so_
이 튜토리얼에서는 0보다 1이 더 많은 최대 부분행렬 영역을 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 0과 1을 포함하는 행렬이 제공됩니다. 우리의 임무는 0보다 1이 더 많이 포함된 최대 면적의 부분행렬을 얻는 것입니다. 예시 #include <bits/stdc++.h> using namespace std; #define SIZE 10 //finding length of longest sub-matrix int lenOfLongSubarr(int arr[], int n, int& start, int&a
이 튜토리얼에서는 3개가 연속되지 않도록 최대 부분수열 합을 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 일련의 양의 정수가 제공됩니다. 우리의 임무는 합 값에서 연속적인 양의 정수를 취하지 않고 최대 합을 찾는 것입니다. 예시 #include <bits/stdc++.h> using namespace std; //returning maximum subsequence without involving //three consecutive numbers int maxSumWO3Consec(int arr[], int n)
이 자습서에서는 하위 트리도 BST가 되도록 이진 트리에서 최대 하위 트리 합계를 찾는 프로그램에 대해 설명합니다. 이를 위해 이진 트리가 제공됩니다. 우리의 임무는 이진 검색 트리이기도 한 하위 트리의 합계를 출력하는 것입니다. 예시 #include <bits/stdc++.h> using namespace std; //creating binary tree node struct Node { struct Node* left; struct Node* right; int data; &nbs
이 튜토리얼에서는 최대 합 교대 부분 수열을 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 정수 배열이 제공됩니다. 우리의 임무는 교대하는 부분수열의 최대 합을 찾는 것입니다. 즉, 처음에는 감소한 다음 증가하고, 그 다음에는 감소하는 방식입니다. 예시 #include<bits/stdc++.h> using namespace std; //returning maximum sum alternating series int maxAlternateSum(int arr[], int n) { if (n ==
이 문제에서는 숫자를 나타내는 문자열이 제공됩니다. 우리의 임무는 C++의 숫자에서 M개의 연속된 숫자의 최대 합과 곱을 찾는 프로그램을 만드는 것입니다. 문제 설명 M개의 연속된 숫자의 모든 시퀀스를 찾습니다. 그리고 최대 합계와 곱을 반환합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 number = 2379641, M = 4 출력 maxSum = 26maxProd = 1512 설명 크기 4의 모든 하위 시퀀스는 2379, 3796, 7964, 9641입니다. maxSum =7 + 9 + 6 + 4 =26 max
이 문제에서는 배열 arr[]이 제공됩니다. 우리의 임무는 C++에서 최대 합 비트론 하위 배열을 찾는 프로그램을 만드는 것입니다. Bitonic 하위 배열 요소가 먼저 엄격하게 증가하고 특정 지점에 도달한 후 엄격하게 감소하는 특수 하위 배열입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 arr[] = {4, 2, 3, 7 ,9, 6, 3, 5, 1} 출력 30 설명 비트 하위 배열은 [2, 3, 7, 9, 6, 3]입니다. 합계 =2 + 3 + 7 + 9 + 6 + 3 =30 솔루션 접근 방식 해법은 bito
이 문제에서는 배열 arr[]이 제공됩니다. 우리의 임무는 C++에서 최대합 Bi-tonic 부분수열을 찾는 프로그램을 만드는 것입니다. 바이토닉 하위 시퀀스는 요소가 먼저 증가하고 감소하는 특수 시퀀스입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 arr[] = {4, 2, 3, 7, 9, 6, 3, 5, 1} 출력 33 설명 가장 큰 합을 주는 Bi-tonic 부분수열은 {2, 3, 7, 9, 6, 5, 1}입니다. Sum =2 + 3 + 7 + 9 + 6 + 5 + 1 =33 솔루션 접근 방식 최대 합 비트
이 문제에서는 N개의 정수로 구성된 배열 rr[]이 제공됩니다. 우리의 임무는 C++에서 최대 합 감소 부분 수열을 찾는 것입니다. 문제 설명 하위 시퀀스가 엄격하게 감소하도록 배열에서 요소의 최대 합을 찾습니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {3, 1, 6, 10, 5, 2, 9} 출력 17 설명 최대 합계가 있는 감소하는 부분 수열은 {10, 5, 2} =10 + 5 + 2 =17입니다. 솔루션 접근 방식 여기서는 동적 프로그래밍 접근 방식을 사용하여 솔루션을 찾습니다. 여기에서 인
이 튜토리얼에서는 서로 다른 언어로 두 변수를 교환하는 방법을 배울 것입니다. 교환은 두 변수의 값을 교환하는 것을 의미합니다. 예를 들어 보겠습니다. 입력 a = 3 b = 5 출력 a = 5 b = 3 하나씩 보시죠. 파이썬 파이썬에서 한 줄의 코드로 변수를 바꿀 수 있습니다. 코드를 봅시다. 예 # initializing the variables a, b = 3, 5 # printing before swaping print("Before swapping:-", a, b) # swapping a, b = b
n개의 고유한 문자열 배열이 있다고 가정하고 아래 규칙에 따라 모든 단어에 대해 가능한 최소한의 약어를 생성해야 합니다. 첫 번째 문자부터 시작하여 약어된 문자 수, 그 뒤에 마지막 문자가 옵니다. 충돌이 발견되고 동일한 약어를 공유하는 단어가 두 개 이상인 경우 단어 간에 맵이 고유해질 때까지 첫 번째 문자 대신 더 긴 접두어를 사용할 수 있습니다. 약어가 단어를 더 짧게 만들지 않으면 원래대로 유지하십시오. 따라서 입력이 [like, god, internal, me, internet, interval, in
한 회사에서 최고의 직원 중 한 명에게 자원을 수집하기 위해 N 도시를 여행할 수 있는 옵션을 제공하려고 한다고 가정합니다. 그러나 직원들은 휴가도 원합니다. 우리는 특정 도시와 몇 주에 휴가를 갈 수도 있습니다. 우리의 임무는 휴가 일수를 최대화하기 위해 여행 일정을 잡는 것이지만 따라야 할 특정 규칙과 제한 사항이 있습니다. N개의 도시만 여행할 수 있습니다. 0에서 N-1까지의 인덱스로 표시됩니다. 첫째, 우리는 월요일에 색인이 0인 도시에 있습니다. 이 도시들은 항공편으로 연결됩니다. 비행을 나타내는 하나의 N x
n개의 정수가 있는 배열이 있다고 가정하고, 길이가 최대 평균값을 갖는 k보다 크거나 같은 연속적인 하위 배열을 찾아야 합니다. 최대 평균값을 찾아야 합니다. 따라서 입력이 [1,12,-5,-6,50,3], k =4와 같으면 출력은 길이가 5일 때 최대 평균값이 10.8, 길이가 6일 때와 같이 12.75가 됩니다. , 최대 평균값은 9.16667입니다. 따라서 출력은 12.75입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ok() 함수를 정의하면 x, 배열 nums, k,가 필요합니다. n :=숫자 크