우리가 FrequencyStack이라고 하는 하나의 스택을 구성하고 싶다고 가정하고, 우리의 FrequencyStack에는 두 가지 기능이 있습니다 - append(x), 이것은 값 x를 스택에 추가하거나 푸시합니다. pop(), 이것은 스택에서 가장 빈번한 요소를 제거하고 반환합니다. 빈도가 동일한 요소가 두 개 이상 있는 경우 스택의 맨 위에 가장 가까운 요소가 제거되고 반환됩니다. 따라서 입력이 7, 9, 7, 9, 6, 7과 같은 일부 요소를 추가한 다음 팝 작업을 네 번 수행하면 출력은 각각 7,9,7,6이
num이라는 숫자 목록이 있고 목록의 하위 목록을 최대 한 번만 뒤집을 수 있다고 가정합니다. 이 작업을 수행한 후 가능한 최대값을 찾아야 합니다. $\displaystyle\sum\limits_{i=0}^{n-2}| 숫자[i+1]-[숫자[i]|$ 따라서 입력이 nums =[2, 4, 6]과 같으면 출력은 6이 됩니다. [4, 6]을 반대로 하면 목록이 [2, 6, 4]로 표시되고 값 | 2 - 6| + |6 − 4| =6 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자의 크기가 <=1이면 - 0 반환
다음 작업을 지원하는 최대 스택을 만들고 싶다고 가정해 보겠습니다. - MaxStk() 최대 스택의 새 인스턴스를 구성합니다. push(val)는 스택에 val을 삽입합니다. top() 스택에서 최상위 요소를 가져옵니다. max() 스택에서 최대 요소를 가져옵니다. pop()은 스택에서 최상위 요소를 제거하고 반환합니다. popmax()는 스택에서 최대 요소를 제거하고 반환합니다. 이제 MasStk()를 호출하여 최대 스택을 구성한 다음 5, 15, 10과 같은 세 개의 값을 푸시한 다음 각각
정수 n이 있다고 가정하고 n보다 작거나 같은 양의 정수의 수를 찾아야 합니다. 여기서 정수는 최소한 두 번 이상 나타나는 숫자를 가집니다. 따라서 입력이 n =200과 같으면 출력은 38이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 배열 정의 a 초기화 x :=n의 경우 x가 0이 아닌 경우 x :=x / 10을 업데이트하고 -를 수행합니다. 끝에 x mod 10 삽입 배열 반전 a 렛 :=n w :=1, d :=1 초기화의 경우, w
다음 메소드를 포함하는 MedianClass라는 클래스를 구현해야 한다고 가정합니다. - 데이터 구조에 값을 추가하는 add(value). median()은 데이터 구조에 현재 존재하는 모든 숫자의 중앙값을 찾습니다. 따라서 5, 3, 8을 더하고 중앙값을 찾으면 출력은 5.0이 되고 9를 더하고 중앙값을 찾으면 출력은 6.5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 왼쪽 및 오른쪽 우선 순위 대기열 정의 addNum 메소드를 정의하십시오. 이것은 숫자를 입력으로 사용합니다 -
이 튜토리얼에서는 LCM의 개념을 기반으로 하는 프로그램을 작성할 것입니다. 제목에서 알 수 있듯이 LCM이 최대인 주어진 숫자보다 작거나 같은 세 숫자를 찾아야 합니다. 예를 들어 보겠습니다. 문제에 대해 알아보기 전에 LCM이 무엇인지 알아보고 이에 대한 프로그램을 작성해 보겠습니다. LCM 는 숫자의 최소 공배수입니다. 최소공약수라고도 합니다. 두 개의 양수와 b의 경우 LCM은 와 b 모두로 균등하게 나눌 수 있는 가장 작은 정수입니다. 주어진 정수에 공통 인수가 없으면 LCM 주어진 숫자의 곱입니다. 예시 주어진
이 튜토리얼에서는 신호가 문자열의 모든 위치에 도달하는 데 걸리는 시간을 계산하는 프로그램을 작성할 것입니다. 예를 들어 설명하겠습니다. 만 포함하는 문자열이 생성됩니다. 및 p 문자. 신호입니다. 및 p 위치입니다. 문자열에서. 신호는 에서 시작합니다. 그리고 좌우 방향으로 움직입니다. 문자열의 다음 위치로 이동하는 데 1단위 시간이 걸린다고 가정합니다. 우리의 임무는 모든 위치를 변환하는 데 필요한 시간을 계산하는 것입니다. 신호로 . 몇 가지 예를 살펴보겠습니다. 입력 - ppppppsss 출력 - 5 입력 - ps
이 자습서에서는 주어진 문자열에서 고유한 연도를 찾는 프로그램을 작성할 것입니다. 몇 가지 예를 살펴보겠습니다. 날짜 형식이 DD/MM/YYYY라고 가정합니다. . 입력 − 날짜가 2020년 1월 11일, 2020년 2월 12일, 2019년 3월 10일인 샘플 예 출력 - 2 주어진 텍스트에 2020년과 2019년이 따로 있습니다. 우리는 정규식을 사용하여 주어진 문자열에서 모든 날짜를 추출할 것입니다. C++의 정규식에 익숙하지 않다면 이 튜토리얼을 진행하세요. 문제 해결에 뛰어들자. 텍스트를 초기화합니다. 텍
이 튜토리얼에서는 행과 열의 주요 행렬로 구성된 행렬의 자취를 찾는 프로그램을 작성할 것입니다. 행렬의 순서가 주어졌을 때 행과 열의 주행렬을 어떻게 형성하는지 봅시다. 주문 - 3 x 3 행 주요 행렬 - 1 2 3 4 5 6 7 8 9 열 주요 매트릭스 - 1 4 7 2 5 8 3 6 9 행 및 열 주요 행렬이 있습니다. 이제 두 행렬을 모두 추가해야 합니다. 그리고 결과 행렬의 자취는 우리가 찾고 있는 결과입니다. 문제를 해결하는 코드를 작성해 봅시다. 문제 해결을 완료하려면 다음 4단계를 완료해야
이 튜토리얼에서는 주어진 곱으로 두 개의 고유한 소수를 찾는 프로그램을 작성할 것입니다. 몇 가지 예를 살펴보겠습니다. 입력 − 21 출력 − 3 7 여기서 우리는 주어진 곱보다 작은 모든 소수를 가질 필요가 있습니다. 소수가 있으면 쌍을 쉽게 찾을 수 있습니다. 문제를 해결하려면 아래 단계를 따르세요. 범위의 숫자가 소수인지 여부를 저장하기 위해 제품 및 부울 배열을 초기화합니다. 주어진 곱보다 작은 모든 소수를 찾아 배열에 저장합니다. 주어진 제품까지 반복합니다. 현재 숫자가 소수이고 n / curre
이 튜토리얼에서는 x + y =n 및 x * y =n인 두 숫자를 찾는 프로그램을 작성할 것입니다. 때때로 이러한 유형의 숫자를 찾는 것이 불가능합니다. 없음 을 인쇄합니다. 그러한 숫자가 없는 경우. 시작하겠습니다. 주어진 숫자는 이차 방정식의 합과 곱입니다. 따라서 n2이면 숫자가 존재하지 않습니다. - 4*n<0. 그렇지 않으면 숫자는 $$\lgroup n + \sqrt n^{2} - 4*n\rgroup/2$$ 및 $$\lgroup n - \sqrt n^{2}이 됩니다. - 4*n\r그룹/2$$. 예시 코드를 봅시다. #i
이 튜토리얼에서는 주어진 두 문자열에서 고유한 문자를 찾는 방법을 배울 것입니다. 예를 들어 보겠습니다. 입력 string_one = "tutorialspoint" string_two = "tutorialsworld" 출력 d n p w 우리는 해싱을 사용하여 문제를 해결할 것입니다. 두 개의 중첩 루프를 작성하는 것보다 더 효율적입니다. 프로그램을 해결하는 단계를 살펴보겠습니다. 임의의 값으로 두 문자열을 초기화합니다. 지도를 map 문자로 초기화합니다. 첫 번째 문
이 튜토리얼에서는 정렬되지 않은 두 배열의 합집합과 교집합을 위한 프로그램을 작성하는 방법을 배울 것입니다. 예를 들어 보겠습니다. 입력 arr_one = [1, 2, 3, 4, 5] arr_two = [3, 4, 5, 6, 7] 출력 union: 1 2 3 4 5 6 7 intersection: 3 4 5 문제를 해결하는 단계를 살펴보겠습니다. 연합 임의의 값으로 두 배열을 초기화합니다. Union_result라는 빈 배열을 만듭니다. 첫 번째 배열을 반복하고 모든 요소를 추가합니다. 섹션 배열
이 튜토리얼에서는 주어진 숫자 n보다 작은 고유 쌍을 찾는 방법을 배울 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 번호를 초기화합니다. i =1에서 i
이 튜토리얼에서는 정수가 주어진 고유수의 n승의 합으로 표현될 수 있는 방법의 수를 찾는 프로그램을 작성할 것입니다. 두 개의 정수 숫자가 있습니다. 및 힘 . 그리고 우리는 주어진 숫자를 얼마나 많은 방법으로 나타낼 수 있는지 찾아야 합니다. 고유한 자연수의 n승의 합. 예를 들어 보겠습니다. 입력 - 숫자 =50, 거듭제곱 =2 출력 - 3 2의 거듭제곱의 합으로 4를 쓸 수 있는 유일한 방법이 있습니다. 우리는 문제를 해결하기 위해 재귀를 사용할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자와 전원을 초
이 튜토리얼에서는 선거 승자를 찾는 프로그램을 작성할 것입니다. 선거에서 각 후보자가 얻은 표가 있을 것입니다. 예를 들어 보겠습니다. 입력 {"A", "B", "C", "B", "A", "C", "D", "D", "A", "B", "D", "B", "A", "C", "D&
이 튜토리얼에서는 배열에서 연속 1의 최대 수를 얻기 위해 뒤집어야 하는 0의 수를 찾을 것입니다. 우리는 문제를 해결하기 위해 슬라이딩 윈도우 접근 방식을 사용할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 뒤집을 배열과 최대 0을 초기화합니다. 길이에 따라 창 시작, 끝 인덱스를 초기화합니다. 연속된 1의 길이와 시작 인덱스의 최대 하위 배열을 저장합니다. 끝 인덱스가 배열 길이와 교차할 때까지 배열을 반복합니다. 0 수가 최대 0 수보다 작으면 끝 인덱스를 증가시키고 현재 값이 0이면 0을 계
이 튜토리얼에서는 주어진 방정식을 만족하는 ∆ X 값을 계산하는 프로그램을 작성할 것입니다. 방정식은 (a + ∆ X)/(b + ∆ X) =c/d입니다. 여기에서 방정식을 풀기 위해 약간의 수학이 필요합니다. 그리고 간단합니다. 교차 곱하고 ∆X를 한쪽으로 취합니다. ∆X의 값은 (b*c-a*d)/(d-c)로 표시됩니다. 우리는, b, c 및 d 값이 제공됩니다. \Delta XΔX 값을 찾는 것은 간단합니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace s
이 튜토리얼에서는 각 배열 요소의 모듈러스가 동일하도록 숫자를 찾는 프로그램을 작성할 것입니다. 예를 들어 보겠습니다. 입력 - arr ={10, 4, 2} 출력 − 1 2 두 개의 숫자가 있는 경우 x, y 및 y , x - y =d라고 가정합니다. 그런 다음 x =y + d . 숫자 k가 있다고 가정해 보겠습니다. x%k =y%k입니다. 모듈로 k 적용 위의 방정식에 대해 d 값을 찾습니다. . x%k = (y+d)%k y%k = y%k +d%k d%k = 0 위 계산에서 숫자 k인 경우 x의 차이의 제수입니다.
이 튜토리얼에서는 주어진 숫자의 자릿수를 한 자릿수가 될 때까지 합하는 프로그램을 작성할 것입니다. 예를 들어 보겠습니다. 입력 −4543 출력 -7 문제를 해결하는 단계를 살펴보겠습니다. 숫자를 초기화합니다. 합계를 0으로 초기화합니다. 합이 9보다 작을 때까지 반복합니다. 모듈로 연산자를 사용하여 숫자의 각 자릿수를 합계에 더합니다. 합계 인쇄 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; void findTheSin