주어진 문제에서 Pn을 찾는 데 필요한 정수 n이 주어집니다. , 즉 해당 위치의 펠 번호입니다. 자, 우리가 알다시피, pell number는 이 공식에 의해 주어진 시리즈의 일부입니다 -Pn =2*Pn-1 + Pn-2 처음 두 개의 시작 숫자 - P0 =0 및 P1 =1 해결책을 찾기 위한 접근 방식 이제 재귀 및 반복의 두 가지 접근 방식으로 이 문제를 해결할 것입니다. 재귀적 접근 이 공식에서는 Pell Number 공식을 재귀적으로 적용하고 n번 반복합니다. 예시 #include <iostream> us
오각형 피라미드 수는 오각형 기본 피라미드의 항목 수와 같습니다. 아래의 오각형 숫자를 보십시오. N이 N번째 오각 피라미드 수와 같을 때까지 오각형 수의 합. 이 기사에서는 예를 들어 N번째 오각형 피라미드 번호를 찾는 방법에 대해 설명합니다. Input : N = 4 Output : 40 Explanation : Sum of first four pentagonal numbers 1, 5, 12, 22 is 40. Input : N = 6 Output : 126 Explanation : Sum of first four pe
이 기사에서 우리는 정수 배열이 주어지는 문제를 제시했고 주어진 범위의 비트 AND를 찾는 임무를 받았습니다(예:7minus;). Input: arr[ ] = {1, 3, 1, 2, 32, 3, 3, 4, 4}, q[ ] = {{0, 1}, {3, 5}} Output: 1 0 0 1 AND 31 = 1 23 AND 34 AND 4 = 00 Input: arr[ ] = {1, 2, 3, 4, 510, 10 , 12, 16, 8}, q[ ] = {{0, 42}, {1, 33, 4}} Output: 0 8 0 먼저 무차별 대입 접근 방
이 기사에서는 정수 배열이 제공됩니다. 우리는 주어진 범위에 있는 모든 숫자의 비트 OR을 찾는 임무를 받았습니다. 예를 들어, Input: arr[] = {1, 3, 1, 2, 3, 4}, q[] = {{0, 1}, {3, 5}} Output: 3 7 1 OR 3 = 3 2 OR 3 OR 4 = 7 Input: arr[] = {1, 2, 3, 4, 5}, q[] = {{0, 4}, {1, 3}} Output: 7 7 주어진 문제에서 무차별 대입 접근 방식으로 접근한 다음 더 높은 제약 조건에서 작동할 수 있는지 여부를 확인합니다
이 기사에서는 문제가 주어지고 배열이 주어지며 응답해야 하는 두 가지 유형의 쿼리가 있습니다. 0 유형 − x(주어진 값)보다 크거나 같은 큰 요소의 수를 계산해야 합니다. 유형 1 − x(주어진 값)보다 엄격하게 큰 요소의 수를 계산해야 합니다. 여기 간단한 예가 있습니다 - 해결책을 찾기 위한 접근 방식 솔루션을 찾기 위해 두 가지 다른 방법을 사용할 수 있습니다. 먼저 무차별 대입 솔루션을 사용한 다음 더 높은 제약 조건에서 작동할 수 있는지 확인합니다. 그렇지 않은 경우 솔루션 최적화를 진행합니다. 무차별 대입 접근
이 기사에서 우리는 k번째 비트 세트가 있는 주어진 범위에 존재하는 요소의 수를 찾는 문제에 대해 논의할 것입니다. 예를 들어 - 입력 :arr[] ={ 4, 5, 7, 2 }질의 1:L =2, R =4, K =4질의 2:L =3, R =5, K =1출력 :0 1 우리는 무차별 대입 접근 방식으로 이 문제를 해결하고 이 접근 방식이 더 높은 제약 조건에서 작동할 수 있는지 여부를 확인할 것입니다. 그렇지 않다면 새로운 효율적인 접근 방식을 생각하려고 합니다. 무차별 대입 접근 이 접근 방식에서는 단순히 범위를 살펴보고 k번째 비
주어진 문제에서 주어진 정수 n의 모든 제수를 출력해야 합니다. Input: 15 Output: 1 3 5 15 Explanation Divisors of 15 are: 1,3, 5, 15 Input: 30 Output: 1 2 3 5 15 30 주어진 문제에서 n의 모든 제수를 찾기 위해 에라토스테네스의 체에서 사용된 접근 방식을 적용할 수 있습니다. 해결책을 찾기 위한 접근 방식 주어진 접근 방식에서 우리는 에라토스테네스의 체를 기반으로 하는 개념을 적용하고 n의 제수를 찾습니다. 예시 #include <bits/st
이 기사에서는 정수가 될 크기 n의 배열을 제공할 것입니다. 그런 다음 인덱스 L에서 인덱스 R까지 요소의 합을 계산하고 쿼리를 여러 번 실행하거나 [L, R]에서 주어진 범위의 합을 계산해야 합니다. 예를 들어 - Input : arr[] = {1, 2, 3, 4, 5} L = 1, R = 3 L = 2, R = 4 Output : 9 12 Input : arr[] = {1, 2, 3, 4, 5} L = 0, R = 4 &n
주어진 문제에서 배열의 주어진 모든 요소의 순위를 매길 필요가 있습니다. 가장 작은 숫자는 가장 작은 순위를 갖고 가장 큰 숫자는 가장 큰 순위를 갖습니다. 또한 빈도에 따라 숫자의 순위를 변경해야 합니다. 예를 들면 − Input : 20 30 10 Output : 2.0 3.0 1.0 Input : 10 12 15 12 10 25 12 Output : 1.5, 4.0, 6.0, 4.0, 1.5, 7.0, 4.0 Here the rank of 10 is 1.5 because there are two 10s present in
정렬된 배열이 제공됩니다. 이 배열을 최대, 최소 형식으로 배열해야 합니다. 즉, 첫 번째 요소는 최대 요소이고, 두 번째 요소는 최소 요소이고, 세 번째 요소는 두 번째 최대 요소이고, 네 번째 요소는 두 번째 최소 요소입니다. 예를 들어 - Input : arr[ ] = { 10, 20, 30, 40, 50, 60 } Output : { 60, 10, 50, 20, 40, 30 } Explanation : array is rearranged in the form { 1st max, 1st min, 2nd max, 2nd min,
배열이 주어집니다. 첫 번째 요소는 최소 요소, 두 번째 요소는 최대 요소, 세 번째 요소는 두 번째 최소 요소, 네 번째 요소는 두 번째 최대 요소 등의 순서로 이 배열을 정렬해야 합니다. 예 - Input : arr[ ] = { 13, 34, 30, 56, 78, 3 } Output : { 3, 78, 13, 56, 34, 30 } Explanation : array is rearranged in the order { 1st min, 1st max, 2nd min, 2nd max, 3rd min, 3rd max } Input
이 기사에서는 주어진 n개의 숫자 배열을 재배열하는 문제에 대해 논의할 것입니다. 기본적으로 배열에서 요소를 선택해야 합니다. 각 요소를 선택하기 위해 현재 요소의 값 * 현재 요소보다 먼저 선택된 요소의 수로 평가될 몇 가지 포인트를 얻습니다. 최대 포인트를 얻으려면 요소를 선택해야 합니다. 예를 들어 - Input : arr[ ] = { 3, 1, 5, 6, 3 } If we select the elements in the way it is given, our points will be = 3 * 0 +
이 기사에서는 주어진 문자열에서 주어진 단어를 제거하는 문제를 해결할 것입니다. 예를 들어 - Input : str = “remove a given word ”, word = “ remove ” Output : “ a given word ” Input : str = “ god is everywhere ”, word = “ is ” Output : “ god everywhere ” 해결책을 찾기 위한 접근
이 글에서는 연결 리스트의 k번째 노드를 모두 제거하는 방법을 설명합니다. k의 배수에 있는 모든 노드를 삭제해야 합니다. 즉, k, 2*k, 3*k 등의 위치에 있는 노드를 삭제해야 합니다. Input : 112->231->31->41->54->63->71->85 k = 3 Output : 112->231->41->54->71->85 Explanation: As 3 is the k-th node after its deletion list wou
연결된 목록이 주어지면 첫 번째 요소를 제거하고 새 목록의 헤드에 대한 포인터를 반환해야 합니다. Input : 1 -> 2 -> 3 -> 4 -> 5 -> NULL Output : 2 -> 3 -> 4 -> 5 -> NULL Input : 2 -> 4 -> 6 -> 8 -> 33 -> 67 -> NULL Output : 4 -> 6 -> 8 -> 33 -> 67 -> NULL 주어진 문제에서 목록의 첫 번째 노드를 제거하
단일 연결 목록이 제공되며 해당 목록에서 마지막 노드를 제거해야 합니다. 이 문제에서 우리는 주어진 목록을 순회하고 단순히 마지막 노드를 제거할 것입니다. 해결책을 찾기 위한 접근 방식 을 변경하고 현재 노드를 삭제합니다. 예시 #include <iostream> using namespace std; struct Node { int data; struct Node* next; }; void push(struct Node** ref, int new_data) { // push
배열이 제공되며 주어진 배열에서 선행 0을 제거한 다음 배열을 인쇄해야 합니다. Input : arr[] = {0, 0, 0, 1, 2, 3} Output : 1 2 3 Input : arr[] = {0, 0, 0, 1, 0, 2, 3} Output : 1 0 2 3 주어진 문제에서 이전 배열의 선행 0을 포함하지 않는 새 배열을 만들 수 있습니다. 해결책을 찾기 위한 접근 방식 이 접근 방식에서는 배열을 살펴보고 모든 숫자를 삽입하지만 선행 0은 삽입하지 않습니다. 예시 #include <iostream> usi
이 기사에서는 숫자 n이 주어지며 주어진 숫자에서 반복되는 숫자를 제거해야 합니다. Input: x = 12224 Output: 124 Input: x = 124422 Output: 1242 Input: x = 11332 Output: 132 주어진 문제에서 모든 숫자를 살펴보고 반복되는 숫자를 제거합니다. 해결책을 찾기 위한 접근 방식 주어진 접근 방식에서 우리는 이제 오른쪽에서 왼쪽으로 n의 모든 숫자를 살펴볼 것입니다. n의 mod를 10으로 나눈 다음 n을 10으로 나누어 n의 자릿수를 살펴봅니다. 이제 현재 자릿수는
이 기사에서는 0과 1만 포함하는 주어진 문자열에서 두 개의 0 사이의 요소를 제거하는 방법에 대해 설명합니다. 마지막 문자열에는 0으로 둘러싸인 1 문자가 포함되어서는 안 됩니다. 예를 들어 - Input : string = “110010” Output : “11000” Explanation: 1 is found between two zeros at the 4th index. Input : string = “0010” Output : “000”
이 기사에서는 N으로 나눌 수 있는 반복 단위의 수를 찾는 방법에 대해 설명합니다. 반복 단위는 1의 반복 단위입니다. R(k)를 반복 단위라고 하고 여기서 k는 1의 길이입니다. 예:R(4) =1111. 따라서 R(k)가 N으로 나누어지는 최소 k 수를 찾아야 합니다. 예를 들어 - Input : N = 13 Output : k = 6 Explanation : R(6) i.e 111111 is divisible by 13. Input : N = 31 Output : k = 15 해결책을 찾기 위한 접근 방식 R(k)가 N으로