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개의 노드가 있고 0에서 n - 1까지 레이블이 지정되어 있고 무향 모서리 목록도 제공된다고 가정하면 무향 그래프에서 연결된 구성 요소의 수를 찾기 위해 하나의 함수를 정의해야 합니다. 따라서 입력이 n =5이고 edge =[[0, 1], [1, 2], [3, 4]],인 경우 그러면 출력은 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dfs() 함수를 정의하면 노드, 그래프, 방문이라는 배열이 필요합니다. 방문[노드]가 거짓이면 - 방문[노드] :=참 초기화 i :=0의 경우

    2. C++에서 최대 크기 부분배열 합은 k와 같음

      nums라는 배열과 대상 값 k가 있다고 가정하고 k가 되는 하위 배열의 최대 길이를 찾아야 합니다. 존재하지 않으면 대신 0을 반환합니다. 따라서 입력이 nums =[1, -1, 5, -2, 3], k =3과 같으면 하위 배열 [1, - 1, 5, -2]의 합이 다음과 같이 출력은 4가 됩니다. 3이고 가장 깁니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0 하나의 맵 정의 n :=숫자 크기 온도 :=0, m[0] :=-1 initialize i :=0의 경우, i

    3. C++에서 가장 큰 BST 하위 트리

      이진 트리가 있다고 가정합니다. 가장 큰 부분은 가장 큰 수의 노드가 있는 하위 트리를 의미하는 가장 큰 하위 트리를 찾아야 합니다. 따라서 입력이 다음과 같으면 이 경우 가장 큰 BST 하위 트리가 강조 표시된 것이므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 데이터라고 하는 하나의 구조를 정의합니다. 크기, maxVal, minVal 및 ok의 네 가지 값이 있습니다. ok는 참/거짓 값만 보유할 수 있습니다. 해결(트리노드 * 노드) 노드가 null이면 &miuns;

    4. C++의 Android 잠금 해제 패턴

      Android 3x3 키 잠금 화면과 두 개의 정수 m과 n이 있고 m과 n의 값이 1 ≤ m ≤ n ≤ 9 범위에 있다고 가정합니다. Android 잠금 화면의 잠금 해제 패턴의 총 수를 계산해야 합니다. 최소 m개의 키로 구성되며 최대 n개의 키로 구성됩니다. 규칙은 각 패턴이 최소 m개의 키와 최대 n개의 키를 연결해야 한다는 것과 같습니다. 모든 키는 고유해야 합니다. 패턴에서 두 개의 연속 키를 연결하는 선이 다른 키를 통과하는 경우 다른 키가 패턴에서 이전에 선택되어 있어야 합니다. 허용되지 않는 선택되지 않은 키를 통

    5. C++의 인용 목록에서 H-Index를 찾는 프로그램

      연구원의 인용 배열이 있다고 가정합니다. 연구원의 h-index를 계산하는 함수를 정의해야 합니다. 우리가 알고 있는 바와 같이 h-index는 연구원의 논문의 영향력을 계산하는 데 사용되는 지표입니다. 공식적으로 H-인덱스는 다음과 같이 정의할 수 있습니다. N개의 논문 중 h개가 각각 최소 h회 인용되고 다른 N - h개의 논문이 각각 h회 이하인 경우 연구자는 인덱스 h를 가집니다. 따라서 입력이 인용 =[5, 4, 1, 2, 6]과 같으면 출력은 3이 됩니다. 3개 이상의 논문이 각각 4, 5, 6번 이상 3번 이상 인용되

    6. C++에서 이진 탐색 트리의 Inorder Successor를 찾는 프로그램

      이진 탐색 트리 BST와 노드의 다른 값이 있다고 가정하면 BST에서 해당 노드의 순서대로 후속 작업을 찾아야 합니다. 우리 모두는 노드 p의 후임자가 p 값보다 큰 가장 작은 키를 가진 노드라는 것을 알고 있습니다. 따라서 입력이 다음과 같으면 그리고 p =1이면 출력은 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 재귀적 메서드 inorderSuccessor()를 정의합니다. 이 메서드는 루트를 사용하고 p 루트가 null인 경우: null 반환 루트의 val <=p의 val이면: inorder

    7. C++에서 연결 리스트를 이진 검색 트리로 변환하는 프로그램

      요소가 감소하지 않는 순서로 배열된 단일 연결 목록이 있다고 가정하고 높이 균형 이진 검색 트리로 변환해야 합니다. 따라서 목록이 [-10, -3, 0, 5, 9]와 같은 경우 가능한 트리는 다음과 같습니다. - 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 목록이 비어 있으면 null 반환 sortedListToBST()라는 재귀 메서드를 정의하면 목록 시작 노드가 사용됩니다. x :=목록 a에서 중간 노드의 이전 노드 주소 mid :=정확한 중간 노드 중간 값에서 값을 사용하여 새 노드 만들기 nextStart

    8. C++의 라인 리플렉션

      2D 평면에 n개의 점이 있다고 가정하면 y축에 평행한 선이 주어진 점을 대칭적으로 반영하는지 확인해야 합니다. 즉, 주어진 선 위에 모든 점을 반사한 후 원래 점의 집합은 반영된 점과 동일합니다. 따라서 입력이 점 =[[1,1],[-1,1]]와 같은 경우 그러면 출력이 true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 한 세트를 정의하십시오. n :=포인트 크기 minVal :=inf maxVal :=-inf initialize i :=0의 경우, i

    9. C++에서 변환된 배열 정렬

      정수 숫자와 정수 값 a, b 및 c의 정렬된 배열이 있다고 가정합니다. f(x) =ax^2 + bx + c 형식의 2차 함수를 배열의 각 요소 x에 적용해야 합니다. 그리고 최종 배열은 정렬된 순서여야 합니다. 따라서 입력이 nums =[-4,-2,2,4], a =1, b =3, c =5인 경우 출력은 [3,9,15,33] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − x, a, b, c −를 취하는 함수 f()를 정의합니다. 반환 ax^2 + bx + c 주요 방법에서 다음을 수행하십시오 - n :

    10. C++의 폭탄 적

      2D 그리드가 있다고 가정하고 여기에서 각 셀은 벽 W, 적 E 또는 비어 있는 0입니다. 우리는 하나의 폭탄을 사용하여 죽일 수 있는 최대 적을 찾아야 합니다. 폭탄은 벽에 부딪힐 때까지 심은 지점에서 같은 행과 열에 있는 모든 적을 죽입니다. 그리고 우리는 공백에만 폭탄을 놓을 수 있습니다. 따라서 입력이 다음과 같으면 그러면 출력은 3이 되며 녹색 위치에 폭탄을 배치하면 3명의 적을 죽입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 렛 :=0 n :=그리드의 행 개수, m :=그리드의 열 개수

    11. C++의 히트 카운터 디자인

      지난 5분 동안 수신된 히트 수를 계산하는 히트 카운터를 설계한다고 가정합니다. 두 번째 단위에서 타임스탬프 매개변수를 받아들이는 함수가 있고 시간 순서대로 시스템에 호출이 이루어지고 있다고 가정할 수 있습니다(따라서 타임스탬프가 단조롭게 증가함). 또한 가장 빠른 타임스탬프가 1에서 시작한다고 가정합니다. 여러 히트가 거의 동시에 도착할 수 있습니다. 따라서 hit() 함수를 호출하여 적중하고 getHits() 함수를 호출하여 적중 횟수를 얻습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 크기가 300인 배

    12. C++에서 이진 트리의 잎 찾기

      이진 트리가 있다고 가정합니다. 모든 잎사귀를 모아 제거하고 나무가 비워질 때까지 반복합니다. 따라서 입력이 다음과 같으면 그러면 출력은 [[4,5,3],[2],[1]]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 맵 정의 sz 하나의 2D 배열 ret 정의 dfs() 함수를 정의하면 노드가 필요합니다. 노드가 null이면 - sz[노드의 값] :=1 + dfs(노드의 왼쪽) 및 dfs(노드의 오른쪽)의 최대값 ret의 크기가

    13. C++의 플러스원 연결 리스트

      비어 있지 않은 단일 연결 숫자 목록으로 표시된 음이 아닌 정수가 있다고 가정하고 이제 정수에 1을 더해야 합니다. 정수가 숫자 0 자체를 제외하고는 선행 0을 포함하지 않는다고 가정할 수 있습니다. 연결 목록에서 가장 중요한 숫자는 목록의 맨 앞에 있습니다. 따라서 입력이 [1,2,3]과 같으면 출력은 [1,2,4]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 머리가 null이면 - 머리 반환 커 =머리 요청 =NULL curr이 0이 아닌 동안 수행 - curr의 val이

    14. C++의 범위 추가

      크기가 n이고 0으로 초기화된 배열이 있고 값 k도 있다고 가정하면 k 업데이트 작업을 수행합니다. 각 작업은 하위 배열 A[startIndex ... endIndex](startIndex 및 endIndex 포함)의 각 요소를 inc로 증가시키는 트리플렛([startIndex, endIndex, inc])으로 표시됩니다. 모든 k 연산이 실행된 후에 수정된 배열을 찾아야 합니다. 따라서 입력이 길이 =5, 업데이트 =[[1,3,2],[2,4,3],[0,2,-2]]인 경우 출력은 [- 2,0 ,3,5,3] 이 문제를 해결하기 위

    15. C++로 전화번호부 디자인하기

      다음 작업을 지원하는 전화 디렉토리를 설계한다고 가정합니다. get - 이것은 누구에게도 할당되지 않은 번호를 제공합니다. check - 번호를 사용할 수 있는지 여부를 확인합니다. release - 번호를 재활용하거나 해제합니다. 이니셜라이저를 사용하여 처음에 n개의 숫자를 초기화할 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 한 세트 정의 사용 가능한 하나의 대기열 정의 이니셜라이저는 maxNumbers를 사용합니다. N :=maxNumbers initia

    16. C++의 시퀀스 재구성

      원래 시퀀스 org가 seqs의 시퀀스에서 고유하게 재구성될 수 있는지 확인해야 한다고 가정합니다. 원래 시퀀스는 1에서 n까지의 정수와 1 ≤ n ≤ 10^4 범위에 있는 n의 순열입니다. 여기서 재구성은 seqs에서 시퀀스의 가장 짧은 공통 수퍼 시퀀스를 만드는 것을 의미합니다. seq에서 재구성할 수 있는 시퀀스가 ​​하나만 있는지 확인해야 하며 원래 시퀀스인지 확인해야 합니다. 따라서 입력이 org =[1,2,3], seqs =[[1,2],[1,3]]과 같으면 출력은 거짓이 됩니다. [1,3,2]도 재구성할 수 있는 유효한

    17. C++에서 순열 찾기

      문자 D와 I로 구성된 비밀 서명이 있다고 가정합니다. D는 두 숫자 사이의 감소 관계를 나타내고 I는 두 숫자 사이의 증가 관계를 나타냅니다. 그리고 비밀 서명은 1에서 n까지의 다른 모든 숫자를 고유하게 포함하는 특수 정수 배열로 구성되었습니다. 예를 들어, 비밀 서명 DI는 [2,1,3] 또는 [3,1,2]와 같은 배열에서 구성될 수 있지만 [3,2,4] 또는 [2, 1,3,4], 둘 다 DI 비밀 서명을 나타낼 수 없는 특수 문자열을 구성하는 불법입니다. 이제 입력에서 주어진 비밀 서명을 참조할 수 있는 [1, 2, ..

    18. C++의 Max Consecutive Ones II

      이진 배열이 있다고 가정합니다. 최대 하나의 0을 뒤집을 수 있다면 이 배열에서 연속 1의 최대 수를 찾아야 합니다. 따라서 입력이 [1,0,1,1,0]과 같으면 출력은 4가 됩니다. 왜냐하면 우리가 첫 번째 0을 뒤집으면 연속 1의 최대 수가 되기 때문입니다. 뒤집은 후 연속 1의 최대 수는 4입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=1, n :=숫자 크기 n이 0이 아닌 경우 - 0 반환 j :=0, 0 :=0 initialize i :=0의 경우, i

    19. C++의 미로

      빈 공간과 벽이 있는 미로에 공이 있다고 가정합니다. 이제 공은 위, 아래, 왼쪽 또는 오른쪽과 같은 방향으로 굴러 빈 경로를 통과할 수 있지만 벽에 부딪힐 때까지 구르는 것을 멈추지 않습니다. 공이 멈추면 다음 방향을 선택할 수 있습니다. 공의 위치, 목적지, 미로를 시작해야 하고 공이 목적지에 멈출 수 있는지 확인해야 합니다. 미로는 하나의 2D 배열로 표현됩니다. 여기서 1은 벽을 나타내고 0은 빈 공간을 나타냅니다. 미로의 경계는 모두 벽입니다. 시작 및 대상 좌표는 행 및 열 인덱스로 표시됩니다. 따라서 입력이 2D 배

    20. C++의 미로 II

      빈 공간과 벽이 있는 미로에 공이 있다고 가정합니다. 이제 공은 위, 아래, 왼쪽 또는 오른쪽과 같은 방향으로 굴러 빈 경로를 통과할 수 있지만 벽에 부딪힐 때까지 구르는 것을 멈추지 않습니다. 공이 멈추면 다음 방향을 선택할 수 있습니다. 우리는 공의 시작 위치, 목적지, 미로를 찾아야 하고, 공이 목적지에 멈추는 최단 거리를 찾아야 합니다. 여기서 거리는 실제로 공으로 덮인 빈 셀의 수로 정의됩니다(시작 위치를 포함한 시작 위치 제외). 목적지에서 공을 멈출 수 없으면 -1을 반환합니다. 미로는 하나의 2D 배열로 표현됩니다

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:228/300  20-컴퓨터/Page Goto:1 222 223 224 225 226 227 228 229 230 231 232 233 234