Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • C++

    1. C++에서 간격 삽입

      중복되지 않는 간격 집합이 있다고 가정합니다. 간격에 새 간격을 삽입해야 합니다. 필요한 경우 병합할 수 있습니다. 따라서 입력이 − [[1,4],[6,9]]이고 새 간격이 [2,5]이면 출력은 [[1,5],[6,9]]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 이전 간격 목록 끝에 새 간격 삽입 간격의 초기 시간을 기준으로 간격 목록을 정렬합니다. n :=간격의 수 ans라는 배열 하나를 만들고 첫 번째 간격을 ans에 삽입합니다. 인덱스 :=1 동안 인덱스

    2. C++의 텍스트 정렬

      단어 배열과 maxWidth 너비가 있다고 가정하면 각 줄이 정확히 maxWidth 문자 수를 가지며 완전히 정렬되도록 텍스트 형식을 지정해야 합니다. 우리는 탐욕스러운 접근 방식으로 말을 포장해야 합니다. 즉, 각 줄에 가능한 한 많은 단어를 넣습니다. 각 행에 정확히 maxWidth 문자가 포함되도록 필요한 경우 추가 공백 을 채웁니다. 여기에서 단어 사이의 추가 공백은 가능한 한 균등하게 분배되어야 합니다. 줄의 공백 수가 단어 사이에 균등하게 분할되지 않으면 왼쪽의 빈 슬롯이 오른쪽의 슬롯보다 더 많은 공백이 할당됩니다.

    3. C++에서 거리 편집

      word1과 word2라는 두 단어가 있다고 가정하면 word1에서 word2까지 합치기 위해 필요한 최소 연산 수를 찾아야 합니다. 작업은 문자 삽입, 문자 삭제 및 문자 바꾸기의 세 가지 유형이 있습니다. 따라서 입력 문자열이 evaluate 및 fluctuate이면 결과는 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=w1의 크기, m :=w2의 크기, n + 1 크기의 배열 dp 생성 범위 0에서 n까지의 i에 대해 dp[i] :=m + 1 크기의 새 배열 0 ~ m −

    4. C++의 최소 창 부분 문자열

      문자열 S와 T가 있다고 가정합니다. T의 모든 문자를 포함할 S의 최소 창을 찾아야 합니다. 따라서 입력이 ABHDAXCVBAGTXATYCB 및 T =ABC와 같으면 결과는 다음과 같습니다. CVBA”. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 지도 만들기 m x의 주파수를 m에 저장 길이 :=s의 크기, 왼쪽 :=0, 오른쪽 :=0, ansLeft :=0 및 ansRight :=0 카운터 :=x의 크기, 플래그 :=false, ans :=빈 문자열 동안 높이

    5. C++의 최대 직사각형

      0과 1 값이 있는 2D 이진 행렬이 있다고 가정합니다. 1만 포함하는 가장 큰 직사각형을 찾아 면적을 반환해야 합니다. 이 문제를 해결하기 위해 다음 단계를 따르겠습니다- getAns라는 함수를 정의합니다. 이것은 배열 a를 취합니다. 스택 생성, i :=0, ans :=0 동안 나는 <크기, then =스택의 맨 위이면 i를 st에 삽입하고 i를 1만큼 증가 그렇지 않으면 - height :=a[스택 상단], 스택에서 삭제 width :=스택이 비어 있을 때 i, 그렇지 않으면 i – st의

    6. C++에서 문자열 인터리빙

      세 개의 문자열 s1, s2 및 s3이 있다고 가정합니다. 그런 다음 s1과 s2를 인터리빙하여 s3이 구성되었는지 확인합니다. 따라서 문자열이 aabcc, s2 =dbbca, s3이 aadbbbcbcac이면 결과는 true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve()라는 메소드를 정의합니다. 이것은 s1, s2, s3 및 하나의 3d 배열 dp를 취한 다음 i, j, k를 사용합니다. i =0이고 j =0이고 k =0이면 true를 반환합니다. dp[i, j, k]가 -1이 아니면

    7. C++에서 이진 검색 트리 복구

      하나의 이진 검색 트리가 있다고 가정하고 이제 이 BST의 두 요소가 바뀌었다고 가정하고 이 이진 검색 트리를 복구해야 합니다. 따라서 주어진 트리가 아래와 같으면(첫 번째 트리) 복구된 트리는 (두 번째 트리) − 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 노드에 대한 일부 이전, 첫 번째, 두 번째 참조 정의 findProblem()이라는 하나의 메서드를 정의하면 노드가 필요합니다. 노드가 null이면 반환 findProblem(노드 왼쪽) 호출 노드의 값인 경우 first가 nu

    8. C++의 고유한 하위 시퀀스

      문자열 S와 T가 있다고 가정합니다. T와 동일한 S의 고유한 시퀀스 수를 계산해야 합니다. 우리는 문자열의 하위 시퀀스가 ​​나머지 문자의 상대적 위치를 방해하지 않고 문자 중 일부를 제거하여(없을 수 있음) 원래 문자열에서 형성된 새로운 문자열이라는 것을 알고 있습니다. (예:ACE는 ABCDE의 하위 시퀀스이고 AEC는 그렇지 않음). 입력 문자열이 baalllloonnn 및 balloon이면 36가지 다른 방법으로 선택할 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=s의 크기, m :=

    9. C++의 회문 분할 II

      문자열 s가 있다고 가정하고 이 문자열을 다른 부분 문자열로 나누는 데 필요한 절단 수를 찾아야 하고 각 부분은 회문입니다. 따라서 문자열이 ababba와 같으면 2번의 절단이 필요합니다. [아바|bb|아] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=문자열 s의 문자 수 크기가 n + 1인 res라는 하나의 배열을 만듭니다. 해상도[n] :=-1 범위 n – 1에서 0까지의 i에 대해 res[i] :=n – 나는 – 1 범위 i에서 n까지의 j에 대해 인덱스 i에서 j까지 a의

    10. C++의 사탕

      N명의 어린이가 있다고 가정하고 그들은 일렬로 서 있습니다. 여기에서 각 어린이에게 등급 값이 할당됩니다. 우리는 다음 요구 사항에 따라 이러한 어린이에게 사탕을 공급하고 있습니다 - 각 어린이는 적어도 하나의 사탕을 가지고 있어야 합니다. 평점이 높은 아이들은 이웃보다 더 많은 사탕을 받습니다. 우리가 주어야 하는 사탕의 최소 수를 찾아야 합니까? 따라서 입력이 [1,1,3]과 같으면 출력은 4가 됩니다. 따라서 각각 1, 1, 2개의 사탕을 얻습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. −

    11. C++에서 라인의 최대 포인트

      2D 평면이 있다고 가정합니다. 같은 직선에 있는 최대 점의 수를 찾아야 합니다. 따라서 포인트가 다음과 같은 경우 - 그리고 4점이 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=포인트 수, n <3이면 n를 반환합니다. 답변 :=2 범위 1에서 n – 1까지의 i에 대해 개수 :=0 인덱스 i와 i에서 두 점을 가져옵니다 – 1, 이들은 p1, p2 p1과 p2 포인트가 같으면 0 ~ n – 1 범위의 j에 대해 Points[j].x =p1.x이고 poin

    12. C++의 회전 정렬된 배열 II에서 최소값 찾기

      정렬된 배열이 있고 이제 일부 피벗에서 회전한다고 가정합니다. 피벗은 이전에 알려지지 않았습니다. 해당 배열에서 최소 요소를 찾아야 합니다. 따라서 배열이 [4,5,5,5,6,8,2,3,4]와 같으면 최소 요소는 2입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − search()라는 하나의 메서드를 정의합니다. 이것은 arr, low 및 high를 취합니다. 낮음 =높음이면 arr[낮음]을 반환합니다. 중간 :=낮음 + (높음 – 낮음) / 2 ans :=inf if arr[low]

    13. C++의 최대 간격

      정렬되지 않은 배열이 있다고 가정합니다. 정렬된 형식에서 연속 요소 간의 최대 차이를 찾아야 합니다. 배열에 2개 미만의 요소가 포함되어 있으면 0을 반환합니다. 따라서 배열이 [12,3,9,1,17]과 같으면 출력은 6이 됩니다. 정렬된 배열은 [1,3,9,12,17]이므로 5는 다음과 같이 최대 차이가 됩니다. 3과 9의 차이는 6입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − minVal :=inf, maxCal :=-inf n :=숫자 크기 n <2이면 0을 반환합니다. 0 ~ n – 1

    14. C++의 던전 게임

      P라는 이름의 공주를 악마가 붙잡아 던전의 오른쪽 하단에 가둔 것과 같은 이야기가 있다고 가정해 봅시다. 던전은 M행 N열 격자 형태의 방으로 구성되어 있습니다. K라는 이름의 용감한 기사는 처음에 왼쪽 상단 방에 배치되었으며 공주를 구출하기 위해 던전을 통해 싸워야 합니다. 이제 기사는 양의 정수로 표시되는 초기 체력을 가집니다. 어느 시점에서 그의 건강 포인트가 0 이하로 떨어지면 그 순간에 사망합니다. 일부 방에는 그 방을 지키는 악마가 있으므로 기사는 이 방에 들어갈 때 건강(음의 정수)을 잃습니다. 다른 방은 비어 있거

    15. C++에서 주식을 사고 팔기 가장 좋은 시기 IV

      i번째 요소가 i일의 주어진 주식 가격인 배열이 있다고 가정합니다. 우리는 최대 이익을 찾는 알고리즘을 고안해야 합니다. 최대 k개의 트랜잭션을 완료할 수 있습니다. 따라서 입력이 [3,2,6,4,0,3]이고 k =2인 경우 출력은 7이 됩니다. =6), 이익은 6-2 =4가 됩니다. 그런 다음 5일째에 매수(가격은 0), 6일째에 매도(가격은 3), 이익은 3-0 =3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − N + 5 x N + 5 x 2 차수의 3D 배열을 정의합니다. pre()라는 메소드를

    16. C++에서 가장 짧은 회문

      문자열 s가 있다고 가정합니다. 앞에 문자를 추가하여 회문으로 변환할 수 있습니다. 우리는 이 정보를 수행하면서 찾을 수 있는 가장 짧은 회문을 찾아야 합니다. 따라서 문자열이 abcc와 같으면 결과는 - ccbabcc가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=s의 크기, s1 :=s, s2 :=s 문자열 s2를 뒤집습니다. s2 :=s 연결 # s2 연결 s2와 동일한 크기의 배열 lps 정의 j :=0, i :=1 i

    17. C++의 기본 계산기

      기본 표현식 결과를 찾을 하나의 기본 계산기를 생성한다고 가정합니다. 표현식은 여는 괄호와 닫는 괄호, 더하기 또는 빼기 기호 및 공백을 포함할 수 있습니다. 따라서 문자열이 5 + 2 - 3과 같으면 결과는 7이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0, 부호 :=1, num :=0, n :=s의 크기 하나의 스택 정의 i를 초기화하기 위해 :=0, i

    18. C++에서 숫자 1의 수

      수 n이 있다고 가정하면 n보다 작거나 같은 모든 음수가 아닌 숫자에 나타나는 숫자 1의 총 수를 계산해야 합니다. 따라서 입력이 15이면 출력은 8이 됩니다. 1을 포함하는 숫자는 [1,10,11,12,13,14,15]이므로 8개의 1이 있기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 렛 :=0 i를 초기화하기 위해 :=1, i <=n일 때 i =i * 10 do − a :=n / i, b :=n mod i, x :=a mod 10 x가 1과 같으면 레트 =레트 + (a / 10)

    19. C++의 슬라이딩 창 최대값

      nums라는 배열이 있다고 가정하고 배열의 왼쪽에서 오른쪽으로 이동하는 크기 k의 슬라이딩 창이 있습니다. 우리는 창에서 k개의 숫자만 볼 수 있습니다. 슬라이딩 창이 오른쪽으로 한 위치씩 이동할 때마다. 최대 슬라이딩 윈도우를 찾아야 합니다. 따라서 입력이 −[1,3,-1,-3,5,3,6,8]이고 k가 3인 경우 창은 − 창 위치 최대 1 3 -1 -3 5 3 6 8 3 1 3 -1 -3 5 3 6 8 3 1 3 -1 -3 5 3 6 8 3 1 3 -1 -3 5 3 6 8 5 1 3 -1 -3 5 3 6 8 6 1 3

    20. C++의 표현식 추가 연산자

      0에서 9까지의 숫자만 포함하는 문자열이 있다고 가정합니다. 그리고 하나의 대상 값이 제공됩니다. 목표 값을 얻기 위해 이진 연산자 +, - 및 *를 숫자에 추가할 수 있는 모든 가능성을 반환해야 합니다. 따라서 입력이 232이고 대상이 8이면 답은 [2*3+2, 2+3*2]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve()라는 메서드를 정의하면 index, s, curr, target, temp, mult −가 필요합니다. =s의 크기인 경우 대상이 curr과 같으면 ret 끝에 t

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:175/300  20-컴퓨터/Page Goto:1 169 170 171 172 173 174 175 176 177 178 179 180 181