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

    1. C++의 매우 못생긴 숫자

      n번째 엄청나게 못생긴 숫자를 찾기 위해 하나의 함수를 만들어야 합니다. 매우 못생긴 숫자는 모든 소수가 k 크기의 주어진 소수 목록 소수에 있는 양수입니다. 따라서 n이 12이고 소수가 [2, 7, 13, 19]이면 출력은 32가 됩니다. 이는 [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32]는 12개의 엄청나게 못생긴 숫자의 시퀀스입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − num, prime 및 idx를 사용하여 데이터 구조 삼중항을 생성합니다. n이 1이면 1을 반환하

    2. C++의 House Robber III

      한 도둑이 다시 자신의 도둑을 위한 새로운 장소를 찾았다고 가정해 보겠습니다. 이 지역에는 단 하나의 입구가 있으며 그 입구를 루트라고 합니다. 루트 외에 각 집에는 단 하나의 부모 집이 있습니다. 견학 후 똑똑한 도둑은 이곳의 모든 집이 이진 트리를 형성한다고 느꼈다. 그리고 같은 날 밤에 직접 연결된 2채의 집이 침입하면 자동으로 경찰에 연락합니다. 도둑이 경찰에 알리지 않고 오늘 밤 도둑질할 수 있는 최대 금액을 찾아야 합니다. 트리가 다음과 같다면 - 그러면 출력은 7이 됩니다. 이 문제를 해결하기 위해 다음 단계를

    3. C++에서 문자열의 모든 아나그램 찾기

      문자열 s와 비어 있지 않은 문자열 p가 있다고 가정하면 s에서 p의 아나그램의 모든 시작 인덱스를 찾아야 합니다. 문자열은 소문자로만 구성되며 문자열 s와 p의 길이는 20과 100보다 크지 않습니다. 따라서 예를 들어 s:cbaebabacd p:abc인 경우 출력은 [0, 6 ], 인덱스 0에 cba, 다른 하나가 bac, 이들은 abc의 아나그램입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 맵 정의 m, n :=s의 크기, 왼쪽으로 설정 :=0, 오른쪽으로 :=0, 카운터 :=p의 크기 배열 정의

    4. 작업 스케줄러 n C++

      CPU가 수행해야 하는 작업을 나타내는 char 배열이 있다고 가정합니다. 여기에는 대문자 A ~ Z가 포함되며 다른 문자는 다른 작업을 나타냅니다. 작업은 원래 순서 없이 수행될 수 있습니다. 각 작업은 한 간격으로 수행할 수 있습니다. 각 간격에 대해 CPU는 하나의 작업을 완료하거나 그냥 유휴 상태일 수 있습니다. 그러나 두 개의 동일한 작업 사이에 n이라는 음수가 아닌 냉각 간격이 있습니다. 즉, CPU가 다른 작업을 수행하거나 그냥 유휴 상태인 간격이 최소 n개 있어야 합니다. CPU가 주어진 모든 작업을 완료하는 데 걸리

    5. C++에서 가장 깊은 노드가 모두 포함된 가장 작은 하위 트리

      루트에 뿌리를 둔 이진 트리가 있다고 가정하면 각 노드의 깊이는 루트까지의 최단 거리입니다. 여기서 노드는 전체 트리의 노드 중에서 가능한 가장 큰 깊이를 가질 때 가장 깊습니다. 노드의 하위 트리는 해당 노드와 해당 노드의 모든 하위 항목 집합입니다. 하위 트리에서 가장 깊은 노드를 모두 포함하도록 가장 큰 깊이를 가진 노드를 찾아야 합니다. 트리가 다음과 같다면 - 그러면 가장 깊은 하위 트리는 -가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve()라는 메서드를 정의하면 입력으로 루트가

    6. C++에서 가능한 모든 전체 이진 트리

      전체 이진 트리가 각 노드에 정확히 0 또는 2개의 자식이 있는 이진 트리라고 가정합니다. 그래서 우리는 N개의 노드를 가진 모든 가능한 전체 바이너리 트리의 목록을 찾아야 합니다. 답변에 있는 각 트리의 각 노드는 node.val =0이어야 합니다. 반환되는 트리는 임의의 순서로 있을 수 있습니다. 따라서 입력이 7이면 트리는 - 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 정수형 키와 트리형 값의 맵 m을 정의합니다. allPossibleFBT()라는 메서드를 정의하면 N이 입력으로 사용됩니다. is

    7. C++의 하위 배열 최소값 합계

      정수 A의 배열이 있다고 가정합니다. min(B)의 합을 찾아야 합니다. 여기서 B는 A의 모든 (인접) 하위 배열에 걸쳐 있습니다. 대답은 매우 큰 경우, 모듈로 10^9 + 7로 답을 반환합니다. 따라서 입력이 [3,1,2,4]와 같으면 하위 배열이 [3], [1], [이기 때문에 출력은 17이 됩니다. 2], [4], [3,1], [1,2], [2,4], [3,1,2], [1,2,4], [3,1,2,4] , 따라서 최소값은 [3,1,2,4,1,1,2,1,1,1]이고 합계는 17입니다. 이 문제를 해결하기 위해 다음 단계를 따

    8. C++에서 완전한 이진 트리 삽입기

      우리가 알고 있듯이 완전한 이진 트리는 가능한 마지막을 제외한 모든 수준이 완전히 채워지고 모든 노드가 가능한 한 왼쪽에 있는 이진 트리입니다. 완전한 이진 트리로 초기화되고 다음 작업을 지원하는 데이터 구조 CBTInserter를 작성해야 합니다. CBTInserter(TreeNode root) 이것은 헤드 노드 루트가 있는 주어진 트리의 데이터 구조를 초기화합니다. CBTInserter.insert(int v)는 값이 node.val =v인 트리에 TreeNode를 삽입하는 데 사용되어 트리가 완전한 상태를 유지하고

    9. C++에서 이진 트리의 최대 수준 합계

      이진 트리의 루트가 있고 루트의 수준이 1이고 자식의 수준이 2인 식이라고 가정합니다. 레벨 X에 있는 노드의 모든 값의 합이 최대가 되도록 가장 작은 레벨 X를 반환해야 합니다. 트리가 다음과 같다면 - 그러면 출력은 2, 레벨 1 합계 =1, 레벨 2 합계는 7 + 0 =7, 레벨 2 합계는 7 + (-8) =-1이므로 최대값은 레벨입니다. 2이므로 출력은 2입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 레벨 :=1, 합계 :=r의 값, ansLevel :=레벨, ansSum :=합계 큐 q를 정의하고 주어진

    10. C++에서 스틱을 연결하기 위한 최소 비용

      양의 정수 길이를 가진 막대기가 있다고 가정합니다. X + Y의 비용을 지불하면 길이가 X와 Y인 막대 두 개를 하나의 막대로 연결할 수 있습니다. 이것은 막대가 하나 남을 때까지 수행됩니다. 이런 식으로 주어진 모든 스틱을 하나의 스틱으로 연결하는 최소 비용을 찾아야 합니다. 따라서 스택이 [2,4,3]이면 출력은 14가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 최대 힙 우선순위 큐 pq 정의 s의 모든 요소를 ​​pq에 삽입 ans :=0 pq에 둘 이상의 요소가 있는 동안 temp :=큐의 맨 위, pq

    11. C++에서 한 번의 삭제로 최대 하위 배열 합계

      정수 배열이 있다고 가정합니다. 최대 하나의 요소 삭제가 있는 비어 있지 않은 하위 배열(연속 요소)의 최대 합계를 찾아야 합니다. 다시 말해, 하위 배열을 선택하고 선택적으로 하나의 요소를 삭제하여 최소한 하나의 요소가 남아 있고 나머지 요소의 합이 최대가 되도록 하고 싶다고 말할 수 있습니다. 한 요소를 삭제한 후 하위 배열이 비어 있지 않아야 함을 명심해야 합니다. 따라서 입력이 [1,-2,0,3]과 같으면 출력은 4가 됩니다. 따라서 -2를 삭제하면 최대 합계가 반환됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다.

    12. C++의 두 개의 합 BST

      두 개의 이진 검색 트리가 있다고 가정하고 첫 번째 트리에 노드가 있고 두 번째 트리에 노드가 있고 이러한 노드의 합이 지정된 정수 대상인 경우 True를 반환해야 합니다. . 트리가 다음과 같다면 - target이 5이면 결과는 true입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 지도 정의 check()라는 메서드를 정의하면 node, target 및 nodeNumber가 사용되며 다음과 같이 작동합니다. - 노드가 유효하면 false를 반환합니다. curr :=노드 값, req :=target – cur

    13. C++에서 주어진 차이의 가장 긴 산술 부분 수열

      정수 배열 arr과 정수 차이가 있다고 가정하면 arr에서 가장 긴 부분 시퀀스의 길이를 찾아야 합니다. 차이와 동일합니다. 따라서 입력이 [1,5,7,8,5,3,4,2,1]이고 차이가 -2이면 가장 긴 산술 시퀀스가 ​​[7,5, 3,1] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 지도 정의 n :=배열의 크기 arr, 설정:=0 0 ~ n – 1 범위의 i에 대해 x :=arr[i] m[x] :=1 + m[x - d] ans :=최대 및 m[x] 반환 예시 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −

    14. C++로 리더보드 디자인하기

      리더보드 클래스를 디자인해야 한다고 가정하면 세 가지 다른 기능이 있습니다. − addScore(playerId, score) - 주어진 플레이어의 점수에 점수를 추가하여 리더보드를 업데이트합니다. 리더보드에 주어진 ID를 가진 플레이어가 없을 경우, 주어진 점수로 리더보드에 추가합니다. top(K) - 상위 K 플레이어의 점수 합계를 반환합니다. reset(playerId) - 주어진 ID를 가진 플레이어의 점수를 0으로 재설정합니다. 이 함수를 호출하기 전에 플레이어가 리더보드에 추가되었음을 보장합니다. 처음에는 리더보드가

    15. C++의 트리 지름

      무방향 트리가 있다고 가정합니다. 우리는 그것의 지름을 찾아야 합니다 - 그 트리에서 가장 긴 경로의 에지의 수는 그 트리의 지름입니다. 여기에서 트리는 edge[i] =[u, v]가 노드 u와 v 사이의 양방향 에지인 에지 목록으로 제공됩니다. 각 노드에는 {0, 1, ..., edge.length} 집합에 레이블이 있습니다. 따라서 그래프가 다음과 같으면 - 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 지도 정의 l dfs()라는 메서드를 정의합니다. 여기에는 v, 방문이라는 배열, 그래프

    16. C++에서 문자열을 동일하게 만들기 위한 최소 스왑

      x와 y 문자로만 구성된 동일한 길이의 두 문자열 s1과 s2가 있다고 가정합니다. 우리의 임무는 이 두 문자열을 서로 동일하게 만드는 것입니다. 서로 다른 문자열에 속하는 두 문자를 교환할 수 있습니다. 즉 - s1[i]와 s2[j]를 교환합니다. s1과 s2를 같게 만드는 데 필요한 최소 스왑 수를 찾아야 하고, 그렇게 할 수 없는 경우 -1을 반환해야 합니다. 따라서 문자열이 s1 =xy이고 s2 =yx이면 출력은 2가 됩니다. s1[0]과 s2[0]을 바꾸면 s1 =yy, s2 =xx입니다. 그런 다음 s1[0]과 s2[1]

    17. C++에서 좋은 부분배열의 개수 세기

      정수 num과 정수 k의 배열이 있다고 가정합니다. 하위 배열은 k 개의 홀수가 있는 경우 nice 하위 배열로 알려져 있습니다. 우리는 좋은 하위 배열의 수를 찾아야 합니다. 따라서 배열이 [1,1,2,1,1]이고 k =3이면 하위 배열이 [1,1,2,1]이고 [1,2,1]이므로 출력은 2가 됩니다. ,1] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans :=0, n :=nums 배열의 크기 왼쪽 :=0 및 오른쪽 :=0, 개수 :=0 배열을 홀수로 정의하고 숫자에 있는 모든 홀수 값으로 채우기 =k이면 i가 0이

    18. C++에서 간격 제거

      분리된 간격의 정렬된 목록이 있다고 가정하고 각 간격 간격[i] =[a, b]은 a <=x

    19. C++에서 트리 노드 삭제

      트리가 있다고 가정하고 이 트리는 노드 0에 뿌리를 두고 있으며 다음과 같이 주어집니다. - 노드 수는 노드입니다. i번째 노드의 값은 value[i]입니다. i번째 노드의 부모는 부모[i] 노드 값의 합이 0인 모든 하위 트리를 제거해야 트리에 남아 있는 노드 수를 반환합니다. 트리가 다음과 같다면 - 7개의 노드가 있고 출력은 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 어린이라는 지도 만들기 dfs()라는 메서드를 정의하면 노드, 배열 값 및 그래프가 필요합니다. temp :=쌍 (값[노드]

    20. C++의 조합을 위한 반복자

      몇 가지 작업으로 구성된 Iterator 클래스를 설계해야 한다고 가정해 보겠습니다. - 정렬된 고유한 영문 소문자의 문자열 문자와 숫자 조합 길이를 매개변수로 사용하는 생성자를 정의합니다. 길이 조합 길이의 다음 조합을 알파벳 순서로 반환하는 함수 next()를 정의합니다. 다음 조합이 있는 경우에만 True를 반환하는 다른 함수 hasNext()를 정의합니다. 따라서 입력이 다음과 같으면 - CombinationIterator iterator = new CombinationIterator("xyz", 2)

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:146/300  20-컴퓨터/Page Goto:1 140 141 142 143 144 145 146 147 148 149 150 151 152