데이터 스트림이 있다고 가정하고 해당 스트림에서 일부 데이터 요소가 와서 결합할 수 있으며 데이터에서 중앙값을 찾는 데 도움이 되는 하나의 시스템을 만들어야 합니다. 중앙값이 정렬된 목록의 중간 데이터라는 것을 알고 있으므로 목록 길이가 홀수이면 중앙값을 직접 얻을 수 있고 그렇지 않으면 중간 두 요소를 취한 다음 평균을 찾을 수 있습니다. 따라서 addNum() 및 findMedian()의 두 가지 메서드가 있으며 이 두 메서드는 스트림에 숫자를 추가하고 추가된 모든 숫자의 중앙값을 찾는 데 사용됩니다. 이 문제를 해결하기 위해
n개의 풍선이 있다고 가정하고, 풍선은 0에서 n-1까지 인덱싱됩니다. 여기에서 각 풍선은 nums라고 하는 하나의 배열로 표현되는 숫자로 칠해집니다. 우리는 모든 풍선을 터트려야 합니다. 풍선 i를 터뜨리면 nums[i – 1] * nums[i] * nums[i + 1]개의 동전을 얻게 됩니다. 버스트 후에 i – 1 및 i + 1이 인접하게 됩니다. 현명하게 풍선을 터뜨려 모을 최대 코인을 찾아야 합니다. 따라서 입력이 [3,1,5,7]과 같으면 결과는 148이 됩니다. 처음에 배열은 [3,1,5,7]과 같으며 버스트 1 후에
배열 nums가 있다고 가정하고 count라는 다른 배열을 찾아야 합니다. 이 count 배열에서 count[i]는 nums[i] 오른쪽에 더 작은 요소의 수를 저장합니다. 따라서 입력이 [5,2,7,1]과 같으면 결과는 [2,1,1,0]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − update()라는 메서드를 하나 정의하면 인덱스, 배열 비트 및 n이 사용됩니다. 동안 인덱스 <=n, 수행 - 비트 증가[색인] 인덱스 =인덱스 + (인덱스) AND ( - 인덱스) query()라
소문자로만 구성된 문자열이 있다고 가정합니다. 모든 문자가 한 번만 나타나도록 모든 중복 문자를 제거해야 합니다. 그리고 우리는 가장 작은 사전 순서로 결과를 표시해야 합니다. 따라서 입력이 abccb와 같으면 결과는 abc가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans :=하나의 빈 문자열 하나의 스택 정의 크기가 26인 onStack 배열 정의 하나의 맵 정의 n :=s의 크기 i를 초기화하기 위해 :=0, i
배열 숫자와 하나의 숫자가 있다고 가정합니다. 배열에 요소를 추가할 수 있으므로 [1, n] 범위의 모든 숫자(둘 다 포함)는 배열에 있는 일부 요소의 합으로 구성될 수 있습니다. 필요한 패치의 최소 수를 찾아야 합니다. 따라서 배열이 [1,4]와 같고 주어진 숫자가 n =7이면 처음에 숫자가 [1], [4] 및 [1,4] =5이므로 출력은 1이 됩니다. 이제 추가하면 2를 배열에 넣으면 숫자는 [1], [2], [4], [1,2], [1,4],[2,4], [1,2,4]가 되므로 합계 값은 각각 1, 2, 4, 3, 5, 6, 7입
n개의 숫자로 구성된 배열 x가 있다고 가정합니다. 점 (0,0)에서 시작하여 x[0] 단위를 북쪽 방향으로 이동한 다음 x[1] 단위를 서쪽 방향으로, x[2] 단위를 남쪽 방향으로, x[3] 단위를 동쪽으로 이동합니다. 방향 등이 있다. 다시 말해서, 각각의 이동 후에 우리의 방향은 시계 반대 방향으로 바뀝니다. 경로가 자체 교차하는지 여부를 결정하기 위해 O(1) 추가 공간이 있는 원패스 알고리즘을 고안해야 합니다. 따라서 배열이 − [3,4,2,5]와 같은 경우 대답은 사실일 것입니다. 이 문제를 해결하기 위해 다음
a1, a2, ..., ...와 같은 정수의 데이터 스트림 입력이 있다고 가정합니다. 지금까지 본 숫자를 분리된 간격의 목록으로 요약해야 합니다. 예를 들어, 입력 정수가 1, 3, 8, 2, 7, ...라고 가정하면 요약은 -가 됩니다. [1,1] [1, 1], [3, 3] [1, 1], [3, 3], [8, 8] [1, 3], [8, 8] [1, 3], [7, 8]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − nums라는 집합을 만드세요 이니셜라이저에서 low :=-inf 및
이 문제에서는 숫자 n이 주어집니다. 우리의 임무는 C++에서 별 번호를 찾는 프로그램을 만드는 것입니다. . 별표 번호 중앙 육각형(6점 별)을 나타내는 특수 숫자입니다. 일부 시작 번호는 1, 13, 37, 73, 121입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 n =5 출력 121 솔루션 접근 방식 n번째를 찾으려면 공식을 사용할 별 번호입니다. 별 번호에 대한 일반 공식을 살펴보겠습니다. 121 =120 + 1 =6(20) + 1 위의 항에 대해 n항을 도출할 수 있습니다. N번째 항 =6(n
이 문제에서는 주어진 급수에 해당하는 두 개의 값 x와 n이 주어집니다. 우리의 임무는 1 + x/2의 합을 찾는 프로그램을 만드는 것입니다! + x^2/3!+…+x^n/(n+1)! C++에서 . 문제 설명 − 주어진 x와 n 값을 기반으로 시리즈의 합을 찾아야 합니다. 시리즈에서 다른 모든 항은 i번째 항에 대해 x/i만큼 이전 항과 다릅니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 x = 6, n = 4 출력 29.8 설명 시리즈의 합은 1 + 6/2 + 36/6 + 216/24 + 1296/120 = 29.8
이 문제에서는 두 개의 숫자와 n이 제공됩니다. 우리의 임무는 시리즈 a^1/1의 합을 찾는 프로그램을 만드는 것입니다! + a^2/2! + a^3/3! + a^4/4! +…….+a^n/n! C++에서 . 문제 설명 1에서 n까지의 마지막 항의 배수인 특수 급수입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 a = 3, n = 4 출력 15.375 설명 시리즈의 합은 (3^1)/1! + (3^2)/2! + (3^3)/3! + (3^4)/4! = 3 + 9/2 + 27/6 + 81/24 = 15.375 솔루션 접근 방
이 문제에서는 n개의 정수 값으로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 C++에서 주어진 배열에서 요소의 합을 찾는 프로그램을 만드는 것입니다. . 프로그램 설명 − 주어진 배열에 대해 모든 요소를 더하고 합계를 반환합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 arr[] = {3, 1, 7, 2, 9, 10} 출력 32 설명 Sum = 3 + 1 + 7 + 2 + 9 + 10 = 32 해결 방법 배열 요소의 합을 찾기 위해 배열을 탐색하고 배열의 각 요소를 추출하여 합계를 반환하는 sumVal에
이 튜토리얼에서는 처음 n개의 자연수의 합을 구하는 프로그램에 대해 논의할 것입니다. 이를 위해 정수 n이 제공됩니다. 우리의 임무는 더하고 처음 n개의 자연수의 합을 찾아 출력하는 것입니다. 예시 #include<iostream> using namespace std; //returning sum of first n natural numbers int findSum(int n) { int sum = 0; for (int x=1; x<=n; x++) &nbs
이 문제에서는 급수에 대해 두 개의 숫자 n과 k가 제공됩니다. 우리의 임무는 C++에서 주어진 시퀀스의 합을 찾는 프로그램을 만드는 것입니다. 순서는 - (1*2*3*...*k) + (2*3*...k*(k+1)) + (3*4*...*k*k+1*k+2) + ((n-k+1)*(nk+ 2)*... *(n-k+k). 문제 설명 − 여기에서 주어진 k값을 기준으로 n번째 항까지 주어진 급수의 합을 구합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 n = 4, k = 3 출력 30 설명 Series: (1*2*3) + (2*
이 문제에서 우리는 세 개의 숫자, d, n을 받습니다. 우리의 임무는 C++에서 고조파 급수의 합을 찾는 프로그램을 만드는 것입니다. 고조파 진행 역수는 산술 진행이 되는 급수입니다. 즉. 고조파 진행 A1, A2, A3.. An의 경우 산술 진행 1/A1, 1/A2, 1/A3이 있습니다. 따라서 일반 HP는 1/a, 1/(a+d), 1/(a+2d), … 1/(a + nd) 여기서 1/a는 첫 번째 항입니다. 그리고 d는 reversedAP의 공차입니다. 문제 설명 − 여기에서 첫 번째 항 a, 공차 d, 항의
이 문제에서는 숫자 n이 주어집니다. 우리의 임무는 C++에서 1에서 n 사이의 소수의 합을 찾는 프로그램을 만드는 것입니다. . 소수는 인수가 두 개뿐인 숫자입니다. 숫자와 1입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 n = 15 출력 41 설명 1에서 15 사이의 소수는 2, 3, 5, 7, 11, 13입니다. 합은 41입니다. 솔루션 접근 방식 문제를 해결하는 간단한 방법은 루프를 사용하여 각 숫자가 소수인지 확인하고 소수인 모든 것을 더하는 것입니다. 숫자 i가 소수인지 확인하려면. 우리는 i에서 i
이 문제에서는 숫자 n이 주어집니다. 우리의 임무는 C++에서 계열 1 + 1/2 + 1/3 + 1/4 + .. + 1/n의 합을 찾는 프로그램을 만드는 것입니다. . 코드 설명 − 여기에서 n번째 항까지 시리즈 1 + 1/2 + 1/3 + 1/4 + .. + 1/n의 합을 찾습니다. 시리즈는 하모닉 진행 시리즈입니다. 고조파 진행 역수는 산술 진행이 되는 급수입니다. 즉. 만약 화음 진행 A1, A2, A3... An의 경우 산술 진행 1/A1, 1/A2, 1/A3이 있습니다. 먼저 문제를 이해하기 위해 예를 들어보겠습니다.
이 문제에서는 급수의 n번째 항을 나타내는 숫자 n이 주어집니다. 우리의 임무는 C++에서 계열 1 + 2 + 2 + 3 +3 + 3 + .. + n의 합을 찾는 프로그램을 만드는 것입니다. . 문제 설명 − 여기에서 n번째 항이 n번 숫자 n의 합인 급수의 합을 찾습니다. 이것은 일련의 제곱수임을 의미합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 n = 4 출력 30 설명 4번째 항까지 급수의 합 =1 + 2 + 2 + 3 + 3 + 3 + 4 + 4 + 4 + 4 =30 솔루션 접근 방식 문제에 대한 가장 효
이 문제에서 급수의 n번째 항을 정의하는 숫자 n이 주어집니다. 우리의 임무는 시리즈 1*2*3 + 2*3*4+3*4*5 + 의 합을 찾는 프로그램을 만드는 것입니다. . . + n*(n+1)*(n+2) in C++ . 문제 설명 − 여기에서 주어진 급수의 n항까지의 합은 1*2*3 + 2*3*4+ 3*4*5 + 입니다. . . + n*(n+1)*(n+2). 이것은 n*(n+1)*(n+2)의 합으로 디코딩될 수 있습니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 n = 5 출력 420 설명 1*2*3 + 2*3*4 +
이 문제에서 AP의 공차인 값 d가 주어집니다. 이 AP는 사변형의 모든 각도입니다. 우리의 임무는 C++에서 사변형의 각도를 찾는 프로그램을 만드는 것입니다. . 문제 설명 − 여기에서 사변형의 각은 공차 d를 갖는 AP 형태입니다. 그리고 우리는 각도를 찾아야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 d = 15 출력 67.5, 82.5, 97.5, 112.5 설명 First angle is x Second angle is x + 15 Third angle is x + 30 Four angle is x +
두 개의 숫자를 나타내는 0-9의 숫자를 가진 길이가 m과 n인 두 개의 배열이 있다고 가정합니다. 두 자리의 자릿수에서 m + n보다 작은 길이 k의 최대 수를 만들어야 합니다. 동일한 배열에서 숫자의 상대적 순서는 보존되어야 한다는 점을 명심해야 합니다. k 자리의 배열을 찾아야 합니다. 따라서 입력이 [3,4,7,5] 및 [9,1,3,5,8,4]이고 k =5인 경우 답은 [9,8,7,5,4 ]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − mergeThem() 함수를 정의하면 배열 nums1, 배열 nums2, re