이 문제에서 우리는 이진 트리가 주어지고 주어진 노드를 루트로 가정하고 그 노드에서 dfs를 수행하는 특정 노드에서 dfs를 수행해야 합니다. 위의 트리에서 노드 F에서 DFS를 수행해야 한다고 가정합니다. 이 튜토리얼에서 우리는 시간 복잡도를 상당히 줄여 더 높은 제약 조건에 대해서도 이 코드를 실행할 수 있도록 몇 가지 비정통적인 방법을 적용할 것입니다. 접근 − 이 접근 방식에서 우리는 단순히 순진한 방법을 사용하지 않을 것입니다. 즉, 더 높은 제약 조건에서는 작동하지 않으므로 모든 노드에 dfs를 적용하기만 하면
숫자 패리티의 확률, 즉, 짝수인지 홀수인지, 그리고 주어진 범위에 대해 찾습니다. 각 쿼리에 대해 예를 들어 p / q로 확률을 나타내는 p와 q를 인쇄해야 합니다. Input : N = 5, arr[] = { 6, 5, 2, 1, 7 } query 1: 0 2 2 query 2: 1 2 5 query 3: 0 1 4 Output : 0 3 4 1 2 이 문제에서는 해당 인덱스까지 존재하는 홀수 및 짝수의 개수를 포함하는 두 개의 배열을 유지합니다. 이렇게 하면 문제가 간단해지며 이제 해당 범위에 있는 요소 수와 요소 수를 인
이 기사에서는 주어진 문자열에서 형성할 수 있는 부분 문자열(비어 있지 않은)의 수를 찾는 접근 방식에 대해 배울 것입니다. Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon&
이 기사에서는 두 개의 문자열이 주어지고 첫 번째 문자열의 하위 문자열이 두 번째 문자열에서 몇 개나 찾을 수 있는지 알아야 합니다(정확한 하위 문자열은 여러 번 발생할 수 있음). 예를 들어 Input : string1 = “fogl” string2 = “google” Output : 6 Explanation : substrings of string1 present in string2 are [ “o”, “g”, &ldqu
이 기사에서는 예를 들어 팩토리얼의 16진법 표현에서 주어진 숫자 N의 후미 0을 찾는 문제를 이해할 것입니다. Input : N = 7 Output : 1 Explanation : fact(7) = 5040 in base10 and 13B0 in base16 having 1 trailing zero. Input : N = 11 Output : 2 Explanation : fact(11) = 39916800 in base10 and 2611500 in base16 having 2 trailing zeroes. 먼저 십진수를 한
이 기사에서는 계승의 기본 B 표현에서 주어진 숫자 N의 후미 0을 찾는 문제를 이해할 것입니다. 예를 들어 Input : N = 7 Base = 2 Output : 4 Explanation : fact(7) = 5040 in base10 and 1001110110000 in base16 having 4 trailing zero. Input : N = 11 Base = 5 Output : 2 Explanation : fact(11) = 39916800 in base10 and 40204314200 in base16 having 2
n 기사, 먼저 컬러 삼각형을 그려야 합니다. 색칠하지 않은 삼각형을 가져와 삼각형을 4개의 작은 정삼각형으로 나눌 필요가 있습니다. 같은 넓이의 삼각형을 n단계까지 계속해서 그림에 있는 정삼각형의 개수를 구하세요. 해결책을 찾기 위한 접근 방식 이 솔루션에는 두 가지 접근 방식이 있으며 다음과 같습니다. 무차별 대입 접근 우리는 삼각형의 수가 모든 단계 후에 일정 수만큼 계속 증가하는 것을 관찰할 수 있습니다(3*previous_number + 2 증가). 따라서 n까지 루프를 실행하고 삼각형의 수를 계산할 수 있습니다. 예
우리는 지금 3줄에 있는 몇 가지 포인트가 주어집니다. 예를 들어 이 점이 형성할 수 있는 삼각형의 수를 찾아야 합니다. Input: m = 3, n = 4, k = 5 Output: 205 Input: m = 2, n = 2, k = 1 Output: 10 우리는 이 질문에 몇 가지 조합을 적용하고 이 문제를 해결하기 위한 몇 가지 공식을 만들 것입니다. 해결책을 찾기 위한 접근 방식 이 접근 방식에서는 현재 상황에 조합론을 적용하여 공식을 고안하고 이 공식이 결과를 제공합니다. 위 접근 방식에 대한 C++ 코드 다음은 주
C++의 배열 구문에서 여러 고유 쌍을 생성하려면 적절한 지식이 필요합니다. 고유한 쌍의 수를 찾을 때 주어진 배열의 모든 고유한 쌍을 계산합니다. 즉, 각 쌍이 고유해야 하는 곳에 가능한 모든 쌍이 형성될 수 있습니다. 예를 들어 - Input : array[ ] = { 5, 5, 9 } Output : 4 Explanation : The number of all unique pairs are (5, 5), (5, 9), (9, 5) and (9, 9). Input : array[ ] = { 5, 4, 3, 2, 2 } Outp
주어진 문제에서 0과 1로 구성된 문자열이 주어집니다. 문자열이 1로 시작하는 순열의 총 수를 찾아야 합니다. 답은 엄청나게 많을 수 있으므로 1000000007로 모드로 인쇄합니다. Input : str ="10101001001" Output : 210 Input : str ="101110011" Output : 56 우리는 이 문제를 풀기 위해 몇 가지 조합을 적용하고 몇 가지 공식을 만들어 주어진 문제를 해결할 것입니다. 해결책을 찾기 위한 접근 방식 접근 방식에서 우리는 0과 1의 수
N 정수의 배열과 범위의 Q 쿼리가 제공됩니다. 각 쿼리에 대해 범위에 있는 각 숫자의 최대 홀수 제수의 XOR을 반환해야 합니다. 최대 홀수 제수는 숫자 N을 나눌 수 있는 최대 홀수입니다. 예를 들어 6의 최대 홀수 약수는 3입니다. Input: nums[ ] = { 3, 6, 7, 10 }, query[ ] = { { 0, 2 }, { 1, 3 } } Output: query1: 7 query2: 1 Explanation: greatest odd divisors of nums array are { 3, 3, 7, 5 }.
주어진 범위에 있는 모든 하위 배열의 XOR을 계산하고 인쇄합니다. 예를 들어 Input : arr[] = { 4, 1, 2, 3, 5 }, Q = 3 Queries q1 = { 1, 2 } q2 = { 2, 4 } q3 = { 1, 4 } Output : 0 2 0 Explanation : As the given problem states that we need to find XOR of all the subarrays present in the given range so as for query 2 the subarrays
주어진 배열에 대한 질문에 답하기 위한 문제에 대해 토론하십시오. 예를 들어 각 쿼리 인덱스에 대해 인덱스 왼쪽에서 1과 0의 수를 찾아야 합니다. 입력:arr[ ] ={ 0, 1, 1, 1, 0, 0, 0, 1, 0, 0}, 쿼리[ ] ={ 2, 4, 1, 0, 5 }출력:쿼리 1 :zeros =1,ones =1query 2:zeros =1,ones =3query 3:zeros =1,ones =0query 4:zeros =0,ones =0query 5:zeros =2,ones =3Input:arr[ ] ={ 0, 0, 1, 1,
주어진 배열과 여러 쿼리. 또한 쿼리에는 두 가지 유형이 있습니다. 즉, update[ L, R ]은 제곱근을 사용하여 요소를 L에서 R로 업데이트하는 것을 의미하고 쿼리[ L, R]은 L에서 R까지 요소의 합을 계산하는 것을 의미합니다. 예를 들어 1부터 시작하는 인덱스 배열을 가정합니다. Input: nums[ ] = { 0, 9, 4, 1, 5, 2, 3 }, Query[ ] = { {1, 1, 3}, {2, 1, 2}, {1, 2, 5}, { 1, 4, 5}} Output: 14 10 7 1st element of 1st q
Sparsh 테이블은 범위 쿼리의 결과를 제공하는 데 사용되는 데이터 구조입니다. O(logN) 복잡성에서 대부분의 범위 쿼리 결과를 제공합니다. 최대 범위 쿼리의 경우 O(1)에서 결과를 계산할 수도 있습니다. 이 자습서에서는 배열이 제공되는 희소 테이블을 사용하는 범위 합계 쿼리의 문제에 대해 설명합니다. 예를 들어, 범위 L과 R에 있는 모든 요소의 합을 찾아야 합니다. Input: arr[ ] = { 2, 4, 1, 5, 6, 3 } query(1, 3), query(0,2), query(1, 5). Output: 10
n*n 그리드 미로가 주어집니다. 우리 쥐는 그리드의 왼쪽 상단 모서리에 있습니다. 이제 쥐는 아래로 또는 앞으로만 이동할 수 있으며 블록에 0이 아닌 값이 있는 경우에만 이 변형에서 쥐는 여러 번 점프할 수 있습니다. 쥐가 현재 셀에서 이동할 수 있는 최대 점프는 셀에 있는 숫자이며 이제 쥐가 그리드의 오른쪽 하단 모서리에 도달할 수 있는지 확인해야 합니다. 예를 들면 - Input : { { {1, 1, 1, 1}, {2, 0, 0, 2}, {3, 1, 0, 0}, {0, 0, 0, 1} }, Output : { {1, 1, 1
A.P의 m과 n항의 합이 주어진 문제에 대해 토론합니다. m번째와 n번째 항의 비율을 찾아야 합니다. Input: m = 8, n = 4 Output: 2.142 Input: m = 3, n = 2 Output: 1.666 Input: m = 7, n = 3 Output: 2.6 해결책을 찾기 위한 접근 방식 m번째의 비율을 구하려면 및 n번째 코드를 사용하여 용어를 사용하려면 공식을 단순화해야 합니다. Sm하자 처음 m개 항과 Sn의 합 A.P.의 처음 n개 항의 합입니다. a - 첫 번째 용어, d - 공차, 주어진
알파벳 문자열을 정렬된 순서로 재배열하고 문자열에 있는 모든 정수를 더하는 문제에 대해 토론하십시오. 예를 들면 Input : str = “adv4fc3” Output : “ acdfv7” Explanation: all the letters have been sorted to “acdfv” followed by the sum of integers 4 and 3. Input: str = “ h2d7e3f ” Output: “ defh12
이 자습서에서는 키를 탐색하는 동안 키를 사용하여 HashMap에서 항목을 제거하는 방법에 대해 설명합니다. 예를 들어, Input: HashMap: { 1: “Tutorials”, 2: “Tutorials”, 3: “Point” }, key=1
값을 반복하면서 값을 사용하여 HashMap에서 항목을 제거하는 방법에 대해 논의하십시오. 예를 들어 Input: HashMap: { 1: “ Mango ”, 2: “ Orange ”, 3: “ Banana ”, 4: “Apple ” }, value=”Banana” Output: HashMap: { 1: “ Mango ”, 2: “ Orange ”, 4: “Apple &r