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

    1. C++의 삼각형

      삼각형이 있다고 가정합니다. 위에서 아래로의 최소 경로 합을 찾아야 합니다. 각 단계에서 아래 행의 인접한 번호로 이동할 수 있습니다. 예를 들어 다음 삼각형이 다음과 같은 경우 [       [2],      [3,4],     [6,5,7],    [4,1,8,3] ] 위에서 아래로의 최소 경로 합은 11(2 + 3 + 5 + 1 =11)입니다. 단계를 살펴보겠습니다 - 동적 프로그래밍 접근 방식에서 사용할 하나의 테이블을 만듭니다

    2. C++의 삽입 정렬 목록

      연결 목록이 있다고 가정하고 이 목록에 대해 삽입 정렬을 수행해야 합니다. 따라서 목록이 [9,45,23,71,80,55]와 같으면 정렬된 목록은 [9,23,45,55,71,80]입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dummy :=임의의 값이 있는 새 노드 노드:=주어진 목록 노드가 null이 아닌 동안, newNode =노드 다음, dummyHead :=더미 다음, prevDummyHead :=더미 사실일 때 - 노드의 값 노드 다음:=dummyHead prevDummyHead의 다음:=노드 루프를 끊

    3. C++의 각 노드에 다음 오른쪽 포인터 채우기

      각 노드에 (data, left, right, next) 필드가 있는 완전한 이진 트리가 있다고 가정합니다. 왼쪽은 왼쪽 하위 트리를 가리키고 오른쪽은 오른쪽 하위 트리를 가리키고 다음 포인터는 다음 노드를 가리킵니다. . 오른쪽에 노드가 없으면 null이 됩니다. 따라서 처음에는 다음 포인터 각각이 null로 설정되어 있으므로 링크를 만들어야 합니다. 트리가 첫 번째 노드와 같다고 가정하면 다음 노드로 변환됩니다 - 이 문제를 해결하기 위해 다음 단계를 따릅니다. − pre :=root, nextPre :=null

    4. C++의 각 노드 II에 다음 오른쪽 포인터 채우기

      각 노드에 (data, left, right, next) 필드가 있는 이진 트리가 있다고 가정합니다. 왼쪽은 왼쪽 하위 트리를 가리키고 오른쪽은 오른쪽 하위 트리를 가리키고 다음 포인터는 다음 노드를 가리킵니다. 오른쪽에 노드가 없으면 null이 됩니다. 따라서 처음에는 다음 포인터 각각이 null로 설정되어 있으므로 링크를 만들어야 합니다. 트리가 첫 번째 노드와 같다고 가정하면 다음 노드로 변환됩니다 - 이 문제를 해결하기 위해 다음 단계를 따릅니다. − pre :=root, nextPre :=null 및 pre

    5. C++에서 합이 가장 작은 K 쌍 찾기

      두 개의 정렬된 배열 A1과 A2와 또 다른 값 k가 있다고 가정합니다. A1의 한 요소와 A2의 다른 요소로 구성된 쌍(u, v)을 정의해야 합니다. [(u1, v1), (u2, v2),…, (uk, vk)]와 같은 k 쌍을 찾아야 합니다. 따라서 A1 =[1, 7, 11]이고 A2 =[2, 4, 6]이고 k =3이면 출력은 [(1, 2), (1, 4), (1, 6)]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 데이터 유형을 정의하고 두 개의 값과 b, 색인을 사용합니다. 유형 데이터의 키와 데이터

    6. C++에서 숫자 높거나 낮은 II 추측하기

      추측 게임을 한다고 가정합니다. 게임의 규칙은 다음과 같습니다 - Player1은 1에서 n까지의 숫자를 선택합니다. player2는 player1이 선택한 숫자를 추측해야 합니다. player2가 잘못 추측할 때마다 player1은 선택한 숫자가 더 높거나 낮은지 알려줍니다. 그러나 플레이어가 특정 숫자 x를 추측하고 다른 플레이어가 잘못 추측하면 다른 플레이어는 $x를 지불해야 합니다. player2가 정답을 맞추면 게임이 종료됩니다. 예를 들어 n =10이고 player1이 8을 가져간 경우 첫 번째 라운드에서 pla

    7. C++에서 문자열 재구성

      문자열 S가 있다고 가정하고 서로 인접한 두 문자가 동일하지 않도록 문자를 재배열할 수 있는지 확인합니다. 가능한 경우 가능한 결과를 출력하십시오. 이것이 불가능하면 빈 문자열을 반환합니다. 따라서 입력이 AAB와 같으면 출력은 ABA가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − pq라는 정수 문자 쌍의 우선 순위 큐를 만들고 하나의 맵 m을 정의합니다. n :=문자열의 크기 맵 m에 문자 빈도 저장 m의 각 키-값 쌍 p에 대해 삽입(p의 정수 부분, p의 문자 부분) ans :=빈 문자열 pq가 비어 있

    8. C++에서 일치하는 부분 시퀀스의 수

      문자열 S와 단어 사전이 있다고 가정하고 S의 하위 시퀀스인 단어[i]의 수를 찾으십시오. 따라서 입력이 S=abcde이고 사전이 [a, bb이면, acd, ace], 출력은 3이 됩니다. 사전에 단어의 세 시퀀스가 ​​있기 때문에 S의 하위 시퀀스인 a acd 및 ace 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=단어 배열의 크기 하나의 지도 만들기 m 0에서 단어 크기까지 범위에 있는 i의 경우 단어[i]를 지도 m[단어[i, 0]] 위치에 삽입 ans :=0 0에서 S 크기 범위의 i에 대해 문자 x :

    9. C++에서 가장 많은 이익 할당 작업

      작업 난이도[i]가 있고 이 배열이 i번째 작업의 난이도를 나타내고 이익[i]이 i번째 작업의 이익이라고 가정합니다. 이제 우리에게 일꾼이 있다고 생각해 보십시오. worker[i]는 i번째 작업자의 능력으로, 이 작업자는 대부분의 작업자[i]에서 어려운 작업만 완료할 수 있습니다. 모든 작업자는 최대 하나의 작업을 수행할 수 있지만 하나의 작업은 여러 번 완료할 수 있습니다. 우리가 얻을 수 있는 가장 큰 이익이 무엇인지 찾아야 합니까? 예를 들어 입력이 난이도 =[2,4,6,8,10]이고 이익 =[10,20,30,40,50]이

    10. C++의 온라인 재고 범위

      일부 주식에 대한 일일 가격 시세를 수집하고 해당 주식의 현재 가격 범위를 반환하는 API가 있다고 가정합니다. 여기에서 오늘 주식 가격의 범위는 다음과 같이 정의됩니다. - 주식 가격이 오늘 가격보다 낮거나 같은 연속 일수(오늘부터 시작하여 뒤로)입니다. 예를 들어, [100, 80, 60, 70, 60, 75, 85]와 같은 7일의 주식 공유 기록이 있는 경우 주식 범위는 [1, 1, 1, 2, 1, 4, 6]이 됩니다. 이 모듈이 호출될 때 사용할 해당 API에 대한 실제 모듈을 작성해야 합니다. 이 문제를 해결하기 위

    11. C++로 과일 바구니에 담기

      나무 행이 있다고 가정하고 i번째 나무는 tree[i] 유형의 과일을 생산합니다. 선택한 트리에서 시작한 다음 이 단계를 반복적으로 수행할 수 있습니다. − 우리 바구니에 이 나무의 과일 한 조각을 추가하십시오. 기회가 없으면 중지하십시오. 현재 트리의 오른쪽에 있는 다음 트리로 이동합니다. 오른쪽에 나무가 없으면 정지하세요. 우리에게는 두 개의 바구니가 있고 각 바구니에는 과일의 양에 상관없이 담을 수 있지만 각 바구니에는 각각 한 가지 유형의 과일만 담을 수 있기를 바랍니다. 이 절차로 모을 수 있는 과일의 총량을 찾아야

    12. C++의 최소 낙하 경로 합계

      정수 A의 정사각형 배열이 있다고 가정하고 A를 통과하는 낙하 경로의 최소 합을 원합니다. 낙하 경로는 기본적으로 첫 번째 행의 요소에서 시작하여 각 행에서 하나의 요소를 선택하는 경로입니다. 그리고 다음 행의 요소는 이전 행의 열과 최대 1만큼 다른 열에 있어야 합니다. 따라서 행렬이 다음과 같은 경우 - 1 2 3 4 5 6 7 8 9 그러면 출력은 12입니다. 다른 떨어지는 경로가 거의 없습니다. [1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9], [2,4,7], [2,4,8], [2,5

    13. C++에서 K로 나눌 수 있는 부분배열 합

      정수 배열 A가 있다고 가정합니다. k로 나눌 수 있는 합을 갖는 비어 있지 않은 연속적인 하위 배열의 수를 찾아야 합니다. A =[4,5,0,-2,-3,1]이고 k =5이면 출력은 7이 됩니다. 7개의 하위 배열이 있습니다. [[4,5,0,-2,-3,1], [5], [5,0],[5,0,-2,-3], [0], [0,-2,- 3], [-2,-3]] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 지도를 m으로 만들고 m[0]을 1로 설정 temp :=0, ans :=0 및 n :=배열 a의 크기 0 ~ n – 1 범위의

    14. C++의 Max Consecutive Ones III

      0과 1의 배열 A가 있다고 가정하고 0에서 1까지 K 값까지 업데이트할 수 있습니다. 1만 포함하는 가장 긴(연속) 하위 배열의 길이를 찾아야 합니다. 따라서 A =[1,1,1,0,0,0,1,1,1,1,0]이고 k =2이면 출력은 6이 됩니다. 따라서 2개의 0을 뒤집으면 배열은 다음과 같습니다. [1,1,1,0,0,1,1,1,1,1,1]과 같이 1의 가장 긴 시퀀스의 길이는 6입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans :=0, j :=0 및 n :=배열 크기 설정 0 ~ n – 1 범위의 i에 대해

    15. C++의 산술 조각

      3개 이상의 요소로 구성되고 연속되는 두 요소의 차이가 동일한 경우 숫자 시퀀스를 산술이라고 가정합니다. 예를 들어, 이들은 산술 수열입니다:[1, 3, 5, 7, 9], [7, 7, 7, 7], [3, -1, -5, -9], 그러나 다음 수열은 산수. [1, 1, 2, 5, 7] 이제 N개의 숫자로 구성된 제로 인덱스 배열 A가 제공됩니다. 주어진 배열의 슬라이스는 0 <=P

    16. C++의 스톤 게임 II

      앨리스와 밥 두 사람이 있다고 가정하고 그들은 돌더미를 가지고 게임을 계속하고 있습니다. 여러 개의 말뚝이 일렬로 놓여 있고 각 말뚝은 배열 말뚝[i]에 양의 정수 개수의 돌을 가지고 있습니다. 게임의 목표는 가장 많은 돌로 끝나는 것입니다. 앨리스와 밥이 번갈아가며 앨리스가 먼저 출발합니다. 처음에는 M =1입니다. 각 플레이어의 차례에 해당 플레이어는 처음 X개의 남은 더미에 있는 모든 돌을 가져올 수 있습니다(여기서 1 <=X <=2M). 그런 다음 M =max(M, X)로 설정합니다. 돌이 남지 않으면 게임이 종료됩니다. 따

    17. C++에서 문자열 II의 모든 인접 중복 제거

      문자열 s가 주어지면 k 중복 제거는 문자열 s에서 k개의 인접하고 동일한 문자를 선택하고 삭제된 부분 문자열의 왼쪽과 오른쪽이 함께 연결되도록 하는 제거로 구성됩니다. 우리는 남은 것을 변경할 수 없을 때까지 주어진 문자열 s에서 k개의 중복 제거를 반복적으로 수행합니다. 이러한 모든 중복 제거가 수행된 후 최종 문자열을 찾아야 합니다. 따라서 입력이 s =deeedbbcccbdaa 및 k =3과 같으면 출력은 aa가 됩니다. 처음에는 eee와 ccc를 삭제하고 ddbbbaa를 얻은 다음 bbb를 삭제합니다. , 문자열은 ddda

    18. C++의 스테핑 숫자

      낮고 높은 두 개의 정수가 있다고 가정하고 [낮음, 높음] 범위에 있는 모든 스테핑 번호의 정렬된 목록을 찾아 표시해야 합니다. 스테핑 번호는 정수이며 인접한 모든 숫자의 절대 차이가 정확히 1임을 의미합니다. 예를 들어 321은 스테핑 번호이지만 421은 그렇지 않습니다. 따라서 입력이 low :=0 및 high :=21인 경우 결과는 [0,1,2,3,4,5,6,7,8,9,10,12,21] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 어레이 임시 생성 solve()라는 메서드를 하나 만들면 high, seed 및

    19. C++에서 최대 골드가 있는 경로

      m * n 크기의 금광 그리드에서 이 광산의 각 셀에 해당 셀의 금 양을 나타내는 정수가 있다고 가정합니다. 0은 비어 있음을 의미합니다. 다음 조건에서 수집할 수 있는 최대 골드 양을 찾아야 합니다. - 셀을 가리킬 때마다 해당 셀에 있는 모든 금을 수집합니다. 자신의 위치에서 왼쪽, 오른쪽, 위 또는 아래로 한 걸음 걸을 수 있습니다. 같은 셀을 두 번 이상 방문할 수 없습니다. 골드가 0인 방은 절대 방문하지 마세요. 7 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 그리드, n, m, i 및 j를 사용하는 df

    20. C++의 주사위 굴림 시뮬레이션

      주사위 시뮬레이터가 각 롤에 대해 1에서 6까지의 난수를 생성한다고 가정합니다. 우리는 생성기가 rollMax[i](1-인덱싱된) 연속 시간보다 더 많은 숫자 i를 굴릴 수 없도록 제너레이터에 제약 조건을 도입하고자 합니다. 정수 rollMax와 정수 n의 배열이 있다고 가정하면 정확한 n개의 롤로 얻을 수 있는 고유한 시퀀스의 수를 반환해야 합니다. 적어도 하나의 요소가 서로 다른 경우 두 시퀀스는 다른 것으로 간주됩니다. 따라서 n이 2이면 rollMax =[1,1,2,2,2,3]이면 출력은 34가 됩니다. 따라서 주사위에는 2

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:164/300  20-컴퓨터/Page Goto:1 158 159 160 161 162 163 164 165 166 167 168 169 170