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

    1. 이진 인덱스 트리:C++의 범위 업데이트 및 범위 쿼리

      여기에서는 처음에 모든 요소가 0인 크기 n의 배열이 제공됩니다. 여기에 수행해야 하는 몇 가지 쿼리가 있습니다. 쿼리에는 두 가지 유형이 있습니다 - 업데이트(l,r, 값) - 인덱스 l에서 r 사이에 있는 배열의 요소에 값을 추가합니다. 예를 들어, update(2, 4, 5)는 인덱스 4와 5의 요소에 요소 2를 배치하여 배열을 업데이트합니다. getRangeSum(l, r) − l에서 r까지 요소 범위 내 요소의 합을 찾습니다. 예를 들어, getRangeSum(4, 7)은 인덱스가 4, 5, 6, 7인 모든 요소

    2. C++에서 대괄호가 있는 문자열에 대한 이진 트리

      이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 C++에서 이진 트리를 대괄호가 있는 문자열로 변환하는 프로그램을 만드는 것입니다. 이진 트리의 값은 정수이며 선주문 순회 방식으로 프로그램에 제공됩니다. 문자열은 정수와 괄호()만 포함해야 하며 최적화되어야 합니다. 즉, 모든 빈 쌍을 제거해야 합니다. 이진 트리 각 노드가 최대 2개의 자식을 가질 수 있는 특별한 조건을 가진 트리입니다. 이진 트리의 예 - 선주문 순회 :[4, 1, 8, 3, 9, 2, 5] 문제를 이해하기 위해 예를 들어보겠습니다. - 입력 pr

    3. Linux의 파이프용 C 프로그램

      여기에서 Linux의 파이프용 C 프로그램을 만듭니다. . 이 프로그램에서는 입력 스트림에서 일부 텍스트를 읽은 다음 출력 화면에 인쇄합니다. 먼저 파이프 에 대한 기본 사항을 알아보겠습니다. 리눅스에서 파이프 Linux 또는 Unix 기반 시스템에서 둘 사이에 표준 출력을 전송하기 위한 프로세스/명령/프로그램 간의 통신에 사용할 수 있습니다. 주목해야 할 한 가지 중요한 점은 파이프가 단방향이라는 것입니다. 즉, 데이터는 프로그램에서 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 흐를 수 있습니다. 여기에서 사용자의 입력

    4. C++의 스트로보그램매틱 숫자 III

      (낮음 및 높음) 범위에 존재하는 총 스트로보그램 수를 계산하는 함수를 정의한다고 가정합니다. 스트로보그램식 숫자는 180도 회전할 때 동일하게 보이는 숫자라는 것을 알고 있습니다. 따라서 입력이 low =50, high =100과 같으면 69, 88, 96의 세 가지 결과가 있으므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − findStrogrammatic() 함수를 정의합니다. 이것은 n이 필요합니다. ret 배열 정의 n &1이 0이 아닌 경우 - ret 끝에 0 삽입

    5. C++의 페인트 하우스 II

      n개의 집이 연속으로 있다고 가정하면 이제 각 집은 k 색상 중 하나로 칠할 수 있습니다. 특정 색상의 집마다 페인트 비용이 다릅니다. 이제 우리는 인접한 두 집이 같은 색을 가지지 않도록 모든 집을 페인트해야 한다는 것을 명심해야 합니다. 각 집을 특정 색상으로 칠하는 비용은 n x k 차수의 행렬로 표시됩니다. 그리고 우리는 모든 집을 페인트하는 데 필요한 최소 비용을 찾아야 합니다. 따라서 입력이 다음과 같으면 1 5 3 2 9 4 그러면 페인트 하우스 0은 색상 0으로, 페인트 하우스 1은 색상 2로 출력되므로 출

    6. C++의 외계인 사전

      라틴 알파벳을 사용하는 새로운 외계인 언어가 있다고 가정합니다. 그러나 글자 사이의 순서는 알 수 없습니다. 사전에서 비어 있지 않은 단어 목록이 있으며 이 단어는 이 새로운 언어의 규칙에 따라 사전순으로 정렬됩니다. 이 언어의 글자 순서를 찾아야 합니다. 따라서 입력이 [wrt,wrf,er, ett, rftt ]와 같으면 출력은 wertf가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 차수라는 하나의 지도 정의 그래프라는 하나의 맵 정의 n :=단어의 크기 for initialize i :

    7. C++에서 가장 가까운 이진 검색 트리 값 II

      이진 검색 트리와 대상 값이 있다고 가정합니다. BST에서 목표에 가장 가까운 k 값을 찾아야 합니다. 목표 값은 부동 소수점 숫자라는 점을 명심해야 합니다. k는 항상 유효하고 k ≤ 총 노드라고 가정할 수 있습니다. 따라서 입력이 다음과 같으면 target =3.714286, k =2이면 출력은 [4,3]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − pushSmaller() 함수를 정의하면 node,stack st 및 target이 사용됩니다. 노드가 없는 동안 수행 - 노드의 val이

    8. C++의 단어 패턴 II

      패턴과 str이라는 문자열이 있다고 가정하고 str이 동일한 패턴을 따르는지 여부를 확인해야 합니다. 여기에서 패턴 팔로우는 패턴의 문자와 str의 비어 있지 않은 부분 문자열 사이에 전단사가 있는 전체 일치를 의미합니다. 따라서 입력이 패턴이 abaa이고 str이 오렌지그린오렌지오렌지인 경우 출력은 true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve() 함수를 정의하면 i, j, ptr, s, map m, used라고 하는 하나의 집합이 필요합니다. =ptr의 크기인 경우 - tru

    9. C++ 최고의 만남의 장소

      둘 이상의 그룹이 있고 그들이 만나서 총 이동 거리를 최소화하기를 원한다고 가정합니다. 값이 0 또는 1인 2D 그리드가 있으며 각 1은 그룹 내 누군가의 집을 표시합니다. 거리는 맨해튼 거리 공식을 사용하여 계산되므로 distance(p1, p2) =|p2.x - p1.x| + |p2.y - p1.y|. 따라서 입력이 다음과 같으면 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 그러면 (0,0), (0,4), (2,2)에 살고 있는 세 사람이 이해할 수 있는 행렬에서 출력이 6이 됩니다. 포인트 (0,2 )는 2

    10. C++에서 이진 트리 직렬화 및 역직렬화

      하나의 이진 트리가 있고 직렬화 및 역직렬화해야 한다고 가정합니다. 직렬화는 데이터 구조나 개체를 비트 시퀀스로 변환하여 파일이나 메모리 버퍼에 저장할 수 있고 나중에 동일하거나 다른 컴퓨터 환경에서 재구성할 수 있다는 것을 알고 있습니다. 여기서 우리는 이진 트리를 직렬화 및 역직렬화하는 알고리즘을 고안해야 합니다. 바이너리 트리는 각 노드에 2개 이하의 자식이 있는 루트 트리입니다. 따라서 입력이 다음과 같으면 그러면 출력은 Serialize − 1 2 3 4 5 N N N N N Deserialized Tree:

    11. C++에서 검은색 픽셀을 둘러싸는 가장 작은 사각형

      이미지가 있고 그 이미지가 0이 흰색 픽셀이고 1이 검은색 픽셀인 이진 행렬로 표시된다고 가정합니다. 여기에 검은색 픽셀이 연결되어 있으므로 검은색 영역이 하나만 있습니다. 픽셀은 가로와 세로로 연결됩니다. 검은색 픽셀 중 하나의 위치(x, y)가 있는 경우 모든 검은색 픽셀을 둘러싸는 가장 작은(축 정렬) 직사각형 영역을 찾아야 합니다. 따라서 입력이 다음과 같으면 0 0 1 0 0 1 1 0 0 1 0 0 x =0, y =2이면 출력은 6이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의

    12. 범위 합계 쿼리 2D - C++에서 변경 가능

      행렬이라는 2D 행렬이 있다고 가정하고 왼쪽 위 모서리와 오른쪽 아래 모서리에 의해 정의된 직사각형 내부 요소의 합을 계산해야 합니다. 따라서 입력이 다음과 같으면 3 0 1 4 2 5 6 3 2 1 1 2 0 1 5 4 1 0 1 7 1 0 3 0 5 따라서 합계를 찾고 값을 업데이트하는 메서드가 다음과 같이 호출됩니다. 합계 지역(2, 1, 4, 3) 업데이트(3, 2, 2) 합계 영역(2, 1, 4, 3) , 위의 사각형(녹색)이 (2,1) 및 (4, 3)으로 정의되어 합계 =8을 포함하므로 출력은 8과

    13. C++의 모든 건물에서 최단 거리

      모든 건물에 최단거리로 도달할 수 있는 빈 땅에 집을 짓고 싶다고 가정해 봅시다. 상하좌우 4방향만 움직일 수 있습니다. 0, 1 또는 2 값의 2D 그리드가 있습니다. 여기서 - 0은 우리가 자유롭게 지나갈 수 있는 빈 땅을 나타냅니다. 1은 통과할 수 없는 건물을 나타냅니다. 2는 우리가 통과할 수 없는 장애물을 나타냅니다. 따라서 입력이 다음과 같으면 1 0 2 0 1 0 0 0 0 0 0 0 1 0 0 세 개의 건물이 (0,0), (0,4), (2,2)에 있고 장애물이 (0,2)에 있으므로 출

    14. C++에서 최대 K개의 고유 문자가 있는 가장 긴 부분 문자열

      문자열이 있다고 가정합니다. 최대 k개의 고유한 문자를 포함하는 가장 긴 부분 문자열 T의 길이를 계산해야 합니다. 따라서 입력이 s =eceba, k =2와 같으면 T는 길이가 3인 ece이므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 답변 :=0 하나의 맵 정의 n :=s의 크기 x :=0 초기화 j :=0, i :=0, j

    15. C++에서 문자열 k 거리 떨어져 재정렬

      비어 있지 않은 문자열 s와 정수 k가 있다고 가정합니다. 동일한 문자가 서로 최소 거리 k가 되도록 문자열을 재배열해야 합니다. 주어진 문자열은 소문자입니다. 문자열을 재정렬할 방법이 없으면 빈 문자열이 됩니다. 따라서 입력이 s =aabbcc, k =3과 같으면 출력은 abcabc가 됩니다. 이는 동일한 문자가 서로 최소 거리 3이기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=빈 문자열 하나의 맵 정의 n :=s의 크기 initialize i :=0의 경우, i

    16. C++의 완벽한 직사각형

      N 축으로 정렬된 직사각형이 있다고 가정하면 모두 함께 직사각형 영역의 정확한 덮개를 형성하는지 여부를 확인해야 합니다. 여기에서 각 사각형은 왼쪽 아래 점과 오른쪽 위 점으로 표시됩니다. 따라서 단위 제곱은 [1,1,2,2]로 표시됩니다. (왼쪽 아래 지점은 (1, 1)이고 오른쪽 상단 지점은 (2, 2)입니다). 따라서 입력이 직사각형 =[[1,1,3,3],[3,1,4,2],[3,2,4,4],[1,3,2,4]인 경우 [2,3,3,4]], 5개의 직사각형이 모두 직사각형 영역의 정확한 덮개를 형성하므로 출력은 true가 됩니다.

    17. C++의 최소 고유 단어 약어

      word와 같은 문자열이 있고 다음 약어가 포함되어 있다고 가정합니다. [word, 1ord, w1rd, wo1d, wor1, 2rd, w2d, wo2, 1o1d, 1or1, w1r1, 1o2, 2r1, 3d, w3, 4]. 또한 사전에 대상 문자열과 문자열 집합이 있습니다. 사전에 있는 문자열의 약어와 충돌하지 않도록 가능한 가장 작은 길이로 이 대상 문자열의 약어를 찾아야 합니다. 여기서 약어의 각 숫자 또는 문자는 길이 =1로 간주됩니다. 따라서 예를 들어 약어 a32bc는 길이 =4입니다. 따라서 입력이 apple과 같고

    18. C++의 단어 사각형

      단어 세트가 있다고 가정하고(모두 고유함) 모든 단어 사각형을 찾아야 하고 그로부터 구성할 수 있습니다. 여기서 k번째 행과 열이 정확히 동일한 문자열을 읽는 경우 일련의 단어는 유효한 단어 정사각형을 형성합니다. 여기서 0 ≤ k

    19. C++에서 N-ary 트리 직렬화 및 역직렬화

      하나의 N-ary 트리가 있고 직렬화 및 역직렬화해야 한다고 가정합니다. 직렬화는 데이터 구조나 개체를 비트 시퀀스로 변환하여 파일이나 메모리 버퍼에 저장할 수 있고 나중에 동일하거나 다른 컴퓨터 환경에서 재구성할 수 있다는 것을 알고 있습니다. 여기서 우리는 N-ary 트리를 직렬화 및 역직렬화하는 알고리즘을 고안해야 합니다. N-ary 트리는 각 노드에 N 이하의 자식이 있는 루트 트리입니다. 따라서 입력이 다음과 같으면 그러면 출력은 Serialize:1 #3 2 4 #5 6 ##### 및 Deserialized Tr

    20. C++에서 N-ary 트리를 이진 트리로 인코딩

      N-ary 트리가 있다고 가정합니다. 우리는 그 트리를 하나의 바이너리로 인코딩해야 합니다. 또한 이진 트리를 N-진 트리로 역직렬화하기 위해 역직렬화기를 만들어야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 이 문제를 해결하기 위해 다음 단계를 따릅니다. − encode() 함수를 정의하면 루트가 됩니다. 루트가 유효하면 - null 반환 노드 =루트 값을 가진 새 트리 노드 루트의 자식 크기가 0이 아니면 - 노드 왼쪽 :=encode(root의 children[0])

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:192/300  20-컴퓨터/Page Goto:1 186 187 188 189 190 191 192 193 194 195 196 197 198