컨셉 주어진 무방향 그래프와 관련하여 크기가 l인 독립 집합이 포함되어 있는지 확인합니다. 크기가 독립적인 집합이 있으면 Yes를 인쇄하고, 그렇지 않으면 No를 인쇄합니다. 그래프에서 독립 집합은 서로 직접 연결되지 않은 정점의 집합으로 정의된다는 점에 유의해야 합니다. 입력 L = 4, graph = [[1, 0, 1, 0, 0], [0, 1, 1, 0, 0],[1, 1, 1, 1, 1], [0, 0, 1, 1, 0],[0, 0, 1, 0, 1]]; 출력 Yes 위의 그래프는 크기가 4인 독립적인 집합을 포함합니다(정점
컨셉 주어진 이진 트리와 관련하여 우리의 임무는 주어진 수직 수준의 이진 트리가 정렬되었는지 여부를 결정하는 것입니다. (이 경우 두 개의 노드가 겹칠 경우 해당 노드가 위치한 레벨에서 정렬된 시퀀스를 형성하는지 확인합니다.) 입력 2 / \ 3 6 / \ 8 5 / 7 Level l = -1 출력 Yes 7이며 정렬된 순서를 형성합니다. 입력 2 / \ 3 7 \ / 4 5 Level l = 0 출력 Yes 값이 4와 5인 노드는 이진 트리에서 겹칩니다. 5로 정렬된 시퀀스를 형성합니다. 방법 간단한 솔루션
컨셉 lowCost에서 upCost까지의 주어진 비용 범위와 lowQuant에서 upQuant까지의 수량 범위와 관련하여, r=비용/수량, 그리고 lowCost <=비용 <=upCost 및 lowQuant <인 주어진 비율 r을 얻는 것이 가능한지 결정하십시오. =수량 <=upQuant. 입력 lowCost = 2, upCost = 10, lowQuant = 3, upQuant = 9 r = 3 출력 Yes 설명 여기서 비용 =r * 수량 =3 * 3 =9 여기서 비용은 [1, 10]이고 수량은 [2, 8]입니다. 입력 lowC
컨셉 주어진 세 가지 유형의 컵(p[])과 받침 접시(q[]), m개의 선반에 대해 컵과 선반을 깔끔하게 배열할 수 있는지 확인합니다. 이제 다음 규칙을 따르면 컵과 접시의 배열이 깔끔해집니다 - 첫 번째 규칙에 따르면 어떤 선반에도 컵과 접시를 둘 수 없습니다. 두 번째 규칙에 따르면 선반에는 컵이 5개를 넘을 수 없습니다. 세 번째 규칙에 따르면 모든 선반에는 접시가 10개를 넘을 수 없습니다. 입력 p[] = {4, 3, 7} q[] = {5, 9, 10} m = 11 출력 Yes 설명 총 컵 =14, 필요한 선반 =
컨셉 주어진 그래프, 그래프의 소스 정점 및 숫자 k(여기서 k는 소스 정점과 대상 정점 사이의 그래프의 경로 길이를 나타냄)와 관련하여 우리의 임무는 시작하는 단순 경로(어떤 주기도 없는)가 있는지 확인하는 것입니다. 주어진 소스에서 다른 정점(즉, 목적지)에서 끝납니다. 그래프는 다음과 같습니다 - 입력 Source s = 0, k = 64 출력 True 4의 단순 경로가 존재하는데, 총 거리는 68km로 64가 넘습니다. 입력 Source s = 0, k = 70 출력 False 8이므로 69보다 큰 입력에 대해서
균형 이진 검색 트리가 있다고 가정하고 주어진 BST에 합이 0인 삼중항이 있으면 true를 반환하고 그렇지 않으면 false를 반환하는 is_valid_triplet()이라는 함수를 만들어야 합니다. . 다음 제약 조건에 따라 방법을 설계하십시오 - 예상 시간 복잡도는 O(n^2) O(logn) 추가 공간을 사용할 수 있습니다. 입력이 다음과 같으면 트리플렛은 [-15,7,8]이므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − bst_to_doubli_list() 함수를
컨셉 동일한 길이의 주어진 두 문자열 S1과 S2와 관련하여 우리의 임무는 S1[0…i]와 S2[i+1…n-1]이 함께 연결될 때 회문을 제공하도록 인덱스 i를 결정하는 것입니다. 그러한 색인을 결정할 수 없으면 -1을 인쇄하는 것으로 나타났습니다. 입력 S1 = “pqrsu”, S2 = “wxyqp” 출력 1 S1[0..1] =pq, S2[2..n-1] =ypq S1 + S2 =pqyqp는 회문임을 나타냅니다. 입력 S1 = “pqrst”, S2 = &ldquo
컨셉 0과 1의 주어진 배열과 관련하여 1의 최대 연속 시퀀스를 얻기 위해 1로 대체될 0의 위치를 결정합니다. 이 경우 예상 시간 복잡도는 O(n), 보조 공간은 O(1)입니다. 입력 arr[] = {1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1} 출력 Index 10 배열 인덱스가 0에서 시작하도록 하고에서 0을 1로 바꿉니다. 인덱스 10은 1의 가장 긴 연속 시퀀스를 발생시킵니다. 입력 arr[] = {1, 1, 1, 1, 1, 0} 출력 Index 5 방법 0의 양쪽에 1의 개수 사용 -
[from, to]와 같은 출발 및 도착 공항 쌍으로 표시되는 티켓 목록이 있다고 가정하면 순서대로 여정을 찾아야 합니다. 모든 티켓은 첸나이에서 출발하는 남성의 것입니다. 따라서 여정은 첸나이에서 시작해야 합니다. 따라서 입력이 [[Mumbai, Kolkata], [Chennai , Mumbai], [Delhi, Bangalore], [Kolkata, Delhi]]인 경우 출력은 [Chennai, Mumbai, Kolkata, Delhi, Bangalore]입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. −
각 작업에 세 개의 매개변수가 있는 N개의 작업 목록이 있다고 가정합니다. 1. 시작 시간 2. 종료 시간 3. 이익 우리는 하위 집합의 두 작업이 겹치지 않도록 최대 이익과 관련된 작업 하위 집합을 찾아야 합니다. 따라서 입력이 N =4 및 J ={{2, 3, 55},{4, 6, 25},{7, 20, 150},{3, 150, 250}} 인 경우 출력은 [(2, 3, 55),(3, 150, 250)] 및 최적 이익 305 이 문제를 해결하기 위해 다음 단계를 따릅니다. − find_no_conflict() 함수를 정의하면
컨셉 부분 문자열의 반복이 부분 문자열 뒤에 오는 부분 문자열로 표시되는 인코딩된 문자열과 관련하여. 예를 들어 암호화된 문자열이 pq2rs2이고 k=5인 경우 복호화된 문자열이 pqpqrsrs이고 5번째 문자가 r이므로 출력은 r이 됩니다. 암호화된 하위 문자열의 빈도는 두 자리 이상일 수 있습니다. 따라서 예를 들어 pq12r3에서 pq는 12번 반복됩니다. 여기에서 하위 문자열의 빈도에 선행 0이 없습니다. 입력 "p2q2r3", k = 6 출력 r 해독된 문자열은 ppqqrrr입니다. 입력 "
이진 검색 트리와 값 K가 입력으로 있다고 가정하면 트리에서 K 번째로 작은 요소를 찾아야 합니다. 따라서 입력이 다음과 같으면 k =3이면 출력은 15가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − find_kth_smallest() 함수를 정의합니다. 이것은 root, count, k,를 취합니다. 루트가 NULL이면 - NULL 반환 left =find_kth_smallest(루트의 왼쪽, 개수, k) 왼쪽이 NULL이 아니면 - 왼쪽으로 돌아가기 (1씩 증가
컨셉 주어진 2개의 배열과 관련하여, 우리의 작업은 증가하는 부분이 첫 번째 배열에서 가져와야 하고 첫 번째 배열의 하위 시퀀스여야 하도록 가능한 가장 긴 비트 시퀀스를 결정하는 것입니다. 같은 방식으로 의 감소 부분은 두 번째 배열에서 가져와야 하며 그 하위 시퀀스여야 합니다. 입력 arr1[] = {2, 6, 3, 5, 4, 6}, arr2[] = {9, 7, 5, 8, 4, 3} 출력 2, 3, 4, 6, 9, 7, 5, 4, 3 입력 arr1[] = {3, 1, 2, 4, 5}, arr2[] = {6, 4, 3, 2} 출력
컨셉 주어진 문자열과 관련하여 문자열에서 문자를 제거하거나 섞어서 형성할 수 있는 가장 긴 회문을 결정합니다. 가장 긴 길이의 회문 문자열이 여러 개 있는 경우 마지막으로 회문 하나만 반환합니다. 입력 pqr 출력 p OR q OR r 입력 ppqqrr 출력 pqrrqp OR qprrpq OR rqppqr OR any other palindromic string of length 6. 입력 pqp 출력 pqp 방법 여기에서 회문 문자열을 be, mid, end의 세 부분으로 나눌 수 있습니다. 홀수 길이의 회문 문자열(예:2n
컨셉 하나의 요소를 제외하고 서로 중복되는 주어진 두 개의 배열과 관련하여, 이는 배열 중 하나에서 하나의 요소가 누락되었음을 의미하며, 해당 누락된 요소를 판별하는 것이 우리의 임무입니다. 입력 arr1[] = {2, 5, 6, 8, 10} arr2[] = {5, 6, 8, 10} 출력 2 두 번째 배열에서 2가 누락되었습니다. 입력 arr1[] = {3, 4, 5, 6} arr2[] = {3, 4, 5, 6, 7} 출력 7 첫 번째 배열에서 7이 누락되었습니다. 방법 여기에서 배열을 반복하고 요소별로 확인하고 일치하지 않
컨셉 주어진 정수 배열과 관련하여 우리의 임무는 배열에 있는 모든 요소의 가장 가까운 왼쪽과 오른쪽 작은 요소 사이의 최대 절대차를 결정하는 것입니다. 오른쪽 또는 왼쪽에 작은 요소가 없는 경우 어떤 요소의 측면에서 우리는 0을 더 작은 요소로 받아들입니다. 여기에서 예를 들어 가장 왼쪽에 있는 요소의 경우 왼쪽에 있는 가장 가까운 작은 요소를 0으로 설정합니다. 마찬가지로 가장 오른쪽에 있는 요소의 경우 오른쪽에 있는 작은 요소를 0으로 설정합니다. 입력 arr[] = {3, 2, 9} 출력 2 왼쪽 작은 LS[] {0, 0,
컨셉 0에서 N-1까지 번호가 매겨진 주어진 도시 수 N과 역이 위치한 도시와 관련하여 우리의 임무는 도시와 가장 가까운 역 사이의 최대 거리를 결정하는 것입니다. 역이 있는 도시는 임의의 순서로 제공될 수 있습니다. 입력 numOfCities = 6, stations = [2, 4] 출력 2 입력 numOfCities = 6, stations = [4] 출력 4 다음 그림은 6개 도시와 역이 녹색으로 강조 표시된 도시를 포함하는 첫 번째 예를 나타냅니다. 따라서 이 경우 가장 가까운 역에서 가장 먼 도시는 2의 거리에서 0
컨셉 주어진 숫자 그리드에 대해 최대 길이의 뱀 시퀀스를 결정하고 표시합니다. 최대 길이의 뱀 시퀀스가 여러 개 존재하는 경우 그 중 하나를 표시하는 것으로 관찰되었습니다. 실제로, 스네이크 시퀀스는 그리드의 인접한 숫자로 구성되어 각 숫자에 대해 오른쪽 또는 그 아래의 숫자가 +1 또는 -1 값이 되도록 합니다. 여기에서 예를 들어 그리드에서 위치 (a, b)를 지정하면 해당 숫자가 ± 1이면 오른쪽으로 이동할 수 있습니다(예:(a, b+1) ± 1입니다. 예를 들어, 10, 7, 6, 3 9, 8, 7, 6 8, 4,
컨셉 주어진 정수 X와 관련하여 우리의 임무는 처음 N개의 자연수의 합이 X를 초과하지 않도록 최대값 N을 결정하는 것입니다. 입력 X = 7 출력 2 N =3의 경우 계열의 합이 Xi.e를 초과하므로 2는 N의 가능한 최대 값입니다. 1^2 + 2^2 + 3^2 =1 + 4 + 9 =14 입력 X = 27 출력 3 N =4의 경우 계열의 합이 Xi.e를 초과하므로 3은 N의 가능한 최대 값입니다. 1^2 + 2^2 + 3^2 + 4^2 =1 + 4 + 9 + 16 =30 방법 간단한 솔루션 − 여기에서 간단한 솔루션은 S(
컨셉 주어진 두 숫자 P와 Q(P와 Q는 최대 10^6일 수 있음)에 대해 N =(P!/Q!)를 형성합니다. 우리의 임무는 가능한 최대 작업 수를 수행하여 N을 1로 줄이는 것입니다. 각 연산에서 N을 X로 나눌 수 있는 경우 N을 N/X로 바꿀 수 있음을 기억하십시오. 가능한 최대 연산 수를 결정하십시오. 입력 A = 7, B = 4 출력 4 설명 N은 210이고 제수는 2, 3, 5, 7입니다. 입력 A = 3, B = 1 출력 2 설명 N은 6이고 제수는 2,3입니다. 방법 숫자 P!/Q!의 인수분해가 관찰되었습니다.