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

    1. C++에서 회문 깨기

      회문 문자열 회문이 있다고 가정하고 정확히 한 문자를 소문자 영어 문자로 바꿔야 문자열이 회문이 아닌 사전순으로 가능한 가장 작은 문자열이 됩니다. 이제 그렇게 하고 나면 최종 문자열을 찾아야 합니다. 방법이 없으면 빈 문자열을 반환합니다. 따라서 입력이 abccba와 같으면 출력은 aaccba가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 변경됨 :=거짓 문자열의 크기가 1이면 빈 문자열을 반환합니다. i :=0 및 j :=s – 1의 길이 leftA :=True 및 rightA :=True

    2. C++에서 행렬을 대각선으로 정렬

      N x M 행렬이 있다고 가정하고 이것을 왼쪽 위에서 오른쪽 아래로 오름차순으로 대각선으로 정렬해야 합니다. 따라서 행렬이 다음과 같은 경우 - 3 3 1 1 2 2 1 2 1 1 1 2 출력 행렬은 - 1 1 1 1 1 2 2 2 1 2 3 3 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve()라는 메서드를 정의합니다. 이것은 si, sj 및 행렬 매트를 사용합니다. n :=행 수 및 m :=열 수 temp라는 배열을 만듭니다. i:=si 및 j :=sj 및 인덱스 :=0

    3. C++에서 채식주의자 친화적, 가격 및 거리별로 레스토랑 필터링

      레스토랑[i]에 [idi, Ratingi, vegan friendly, pricei, distancei]가 있는 일련의 레스토랑이 있다고 가정합니다. 세 개의 필터를 사용하여 레스토랑을 필터링해야 합니다. vegan-friendly 필터는 true(vegan-friendly가 true로 설정된 레스토랑만 포함해야 함) 또는 false(모든 레스토랑을 포함할 수 있음)입니다. maxPrice 필터와 max distance 필터는 각각 우리가 고려해야 할 가격과 거리에 대한 최대값입니다. 필터링 후 가장 높은 등급에서

    4. C++에서 임계 거리에서 이웃 수가 가장 적은 도시 찾기

      0에서 n-1까지 번호가 매겨진 n개의 도시가 있다고 가정합니다. edge[i] =[fromi, toi, weighti]인 배열 가장자리가 있는 경우 fromi와 toi 도시 사이의 양방향 가중 가장자리를 나타내고 정수 거리 임계값이 주어집니다. 우리는 어떤 경로를 통해 도달할 수 있는 가장 적은 수의 도시가 있고 그 거리가 최대 거리 임계값에 있는 도시를 찾아야 합니다. 그러한 도시가 둘 이상 있으면 가장 많은 도시를 반환합니다. 따라서 입력이 다음과 같으면 - n이 4이고 거리 임계값도 4이면 출력은 3이 됩니다. 이는

    5. C++에서 배열 크기를 절반으로 줄이기

      배열 arr이 있다고 가정합니다. 정수 집합을 선택하고 배열에서 이러한 정수의 모든 항목을 제거할 수 있습니다. 배열의 정수 중 적어도 절반이 제거되도록 집합의 최소 크기를 찾아야 합니다. 예를 들어, arr =[3,3,3,3,5,5,5,2,2,7]이면 출력은 2가 됩니다. 이는 {3,7}을 선택하면 크기가 5인 새 배열 [5,5,5,2,2]입니다(이전 배열 크기의 절반과 같음). 크기 2의 가능한 세트는 {3,5},{3,2},{5,2}입니다. {2,7} 집합을 선택하면 이전 배열 크기의 절반보다 큰 크기를 갖는 새 배열 [3,3,

    6. C++에서 크기가 K이고 평균이 임계값보다 크거나 같은 하위 배열의 수

      정수 arr와 두 개의 정수 k 및 임계값의 배열이 있다고 가정합니다. 크기가 k이고 임계값보다 크거나 같은 평균의 하위 배열 수를 찾아야 합니다. 따라서 입력이 [2,2,2,2,5,5,5,8] 및 k =3 및 임계값 =4와 같으면 출력은 3이 됩니다. 하위 배열 [2,5,5] , [5,5,5] 및 [5,5,8]의 평균은 각각 4, 5, 6입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − sum :=0, div :=k 및 n :=배열의 요소 수 set sum :=arr의 모든 요소의 합 렛 :=0

    7. C++에서 시계 바늘 사이의 각도

      시와 분이라는 두 개의 숫자가 있다고 가정합니다. 시침과 분침 사이에 형성된 더 작은 각도(60진수 단위)를 찾아야 합니다. 따라서 입력이 hour =12 및 min :=30인 경우 결과는 165°가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − h =12이면 h :=0을 설정합니다. m =60이면 m :=0으로 설정 hAngle :=0.5 * (60h) + m mAngle:=6m ret :=|hAngle - mAngle| ret의 최소값을 반환하고 (360 – ret) 예시(C+

    8. C++에서 두 개의 문자열 아나그램을 만드는 최소 단계 수

      같은 크기의 문자열 s와 t가 있다고 가정합니다. 한 단계에서 t의 문자를 선택하고 다른 문자로 바꿀 수 있습니다. t를 s의 아나그램으로 만드는 데 필요한 최소 단계 수를 찾아야 합니다. 참고:문자열의 아나그램은 순서가 다른(또는 동일한) 동일한 문자를 포함하는 문자열입니다. 입력이 yxy 및 xyx와 같으면 한 문자만 교체하면 되므로 출력은 1이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=s의 문자 크기 맵 m을 만들고 이것을 s에 있는 각 문자의 빈도로 채우고 다른 맵 m2를 만들고 이것을

    9. C++의 마지막 K 숫자의 곱

      두 가지 방법을 지원하는 ProductOfNumbers라는 클래스를 구현했다고 가정해 보겠습니다. add(int num):현재 숫자 목록 뒤에 숫자 num을 추가합니다. getProduct(int k):현재 목록에서 마지막 k개의 숫자를 곱한 값을 반환합니다. 항상 현재 목록에 최소한 k개의 숫자가 있다고 가정할 수 있습니다. 예를 들어, 입력이 다음과 같은 경우 - add(3), add(0), add(2), add(5), add(4), getProduct(2), getProduct(3), getProduct(4)

    10. C++에서 참석할 수 있는 최대 이벤트 수

      event[i] =[startDayi, endDayi]인 이벤트 배열이 있다고 가정합니다. 여기에서 모든 이벤트는 startDayi에서 시작하여 endDayi에서 끝납니다. 우리는 d가 startTimei와 endTimei(둘 다 포함) 범위에 있는 d일에 이벤트 I에 참석할 수 있습니다. 우리는 한 번에 하나의 이벤트에만 참석할 수 있음을 명심해야 합니다. 따라서 참석할 수 있는 최대 이벤트 수를 찾으십시오. 예를 들어 입력이 [[1,4], [4,4], [2,2], [3,4], [1,1]]과 같으면 출력은 1이 됩니다. 최대 4개

    11. C++에서 n 주문마다 할인 적용

      슈퍼마켓에서 세일이 있다고 가정하면 n명의 고객마다 할인이 있을 것입니다. 슈퍼마켓에 i 번째 제품의 id가 products[i]이고 이 제품의 단위당 가격이 price[i]인 일부 제품이 있다고 가정합니다. 여기에서 시스템은 고객 수를 계산하고 n번째 고객이 도착하면 청구서에 대해 할인을 받습니다. 그러면 시스템이 고객을 다시 계산하기 시작합니다. 고객은 각 제품의 일정량을 주문합니다. 여기서 product[i]는 고객이 주문한 i번째 제품의 id이고 amount[i]는 고객이 해당 제품을 주문한 단위 수입니다. 그래서 우리는 이

    12. C++에서 세 문자를 모두 포함하는 부분 문자열의 수

      문자 a, b 및 c로만 구성된 문자열 s를 제공했다고 가정합니다. 우리는 이러한 모든 문자, b 및 c가 적어도 한 번 발생하는 부분 문자열의 수를 반환해야 합니다. 따라서 예를 들어 문자열이 abcabc이면 출력은 10이 됩니다. 하위 문자열에는 a, b 및 c 문자가 한 번 이상 포함되어 있으므로 abc, abca, abcab, abcabc, bca, bcab, cab, cabc 및 abc(마지막 부분에 대해 다시). 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0, m이라는 맵을 만들고 j :=0으로

    13. C++에서 이진 트리 노드 유효성 검사

      0에서 n - 1까지 번호가 매겨진 n개의 이진 트리 노드가 있다고 가정하고 노드 I에 두 개의 자식이 leftChild[i]와 rightChild[i]가 있다고 가정하면 다음 경우에만 true라고 말해야 합니다. 주어진 모든 노드는 정확히 하나의 유효한 이진 트리를 형성합니다. 노드 i에 왼쪽 자식이 없으면 leftChild[i]는 오른쪽 자식과 마찬가지로 -1이 됩니다. 노드에는 값이 없으며 이 문제에서는 노드 번호만 사용한다는 점을 명심해야 합니다. 따라서 입력이 다음과 같으면 - 그러면 출력이 true가 됩니다. 이

    14. C++의 가장 가까운 약수

      정수 num이 있다고 가정하고 곱이 num + 1 또는 num + 2와 같은 절대 차이에서 가장 가까운 두 정수를 찾아야 합니다. 두 정수를 임의의 순서로 찾아야 합니다. 따라서 입력이 8이면 출력은 [3, 3]이 되고 num + 1의 경우 9가 되고 가장 가까운 제수는 3과 3이 되고 num + 2 =10의 경우 가장 가까운 제수는 2와 5가 됩니다. , 따라서 3과 3이 선택됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − getDiv()라는 메서드를 정의하면 x가 입력으로 사용됩니다. diff :=무한대

    15. C++ 이진 트리의 연결 목록

      이진 트리 루트와 첫 번째 노드로 헤드가 있는 연결 목록이 있다고 가정합니다. 헤드에서 시작하는 연결 목록의 모든 요소가 이진 트리에 연결된 일부 하향 경로에 해당하면 True를 반환해야 하고 그렇지 않으면 False를 반환해야 합니다. 트리가 다음과 같다면 - 그리고 연결 리스트가 [1,4,2,6]이면 출력은 참이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 지도 정의 dp solve()라는 메서드를 정의합니다. 이것은 head, root 및 flag를 사용합니다. 헤드가 null이면 tru

    16. C++의 이진 트리에서 가장 긴 지그재그 경로

      이진 트리 루트가 있다고 가정하고 이진 트리의 ZigZag 경로는 다음과 같이 정의됩니다. - 이진 트리의 노드와 방향(오른쪽 또는 왼쪽)을 선택합니다. 현재 방향이 오른쪽이면 현재 노드의 오른쪽 자식으로 이동하고 그렇지 않으면 왼쪽 자식으로 이동합니다. 그런 다음 방향을 오른쪽에서 왼쪽으로 또는 그 반대로 변경합니다. 나무에서 움직일 수 없을 때까지 두 번째와 세 번째 단계를 반복합니다. 여기서 지그재그 길이는 방문한 노드 수 - 1로 정의됩니다. (단일 노드의 길이는 0입니다). 우리는 그 트리에 포함

    17. C++의 전구 전환기 III

      n개의 전구가 있는 방이 있다고 가정해 보겠습니다. 전구는 1에서 n까지 번호가 매겨져 있고 왼쪽에서 오른쪽으로 일렬로 배열되어 있습니다. 처음에는 모든 전구가 꺼집니다. 순간 k(범위 0에서 n - 1의 k에 대해)에서 전구[k] 전구를 켭니다. 전구가 켜져 있고 이전 전구(왼쪽)도 모두 켜져 있는 경우에만 전구의 색이 파란색으로 바뀝니다. 켜진 전구가 모두 파란색이 되는 순간의 수를 찾아야 합니다. 이것은 예입니다 - 모멘트가 1, 2, 4이므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. −

    18. C++에서 모든 직원에게 알리는 데 필요한 시간

      각 직원에 대해 고유한 ID를 가진 n명의 직원이 있는 회사가 있다고 가정합니다. 이 ID의 범위는 0에서 n - 1입니다. 회사의 대표는 headID를 가진 사람입니다. 각 직원에는 manager[i]가 i 번째 직원의 직속 관리자인 manager[headID] =-1인 관리자 배열에 지정된 한 명의 직속 관리자가 있습니다. 또한 종속 관계가 나무와 같은 구조를 갖는 것이 보장됩니다. 여기서 회사 대표는 회사의 모든 직원에게 긴급한 소식을 알리고 싶어합니다. 그는 그의 직속 부하들에게 알릴 수 있고 그들은 모든 직원이 긴급한 소식

    19. C++에서 해당 트리의 클론에서 이진 트리의 해당 노드 찾기

      원본 및 복제된 두 개의 이진 트리가 있고 원본 트리의 노드 대상에 대한 참조가 제공된다고 가정합니다. 복제된 트리는 실제로 원본 트리의 복사본입니다. 복제된 트리에서 동일한 노드에 대한 참조를 찾아야 합니다. 따라서 트리가 아래와 같고 대상이 3이면 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve()라는 메서드를 정의하면 node1m node2와 target이 사용됩니다. node1이 null이면 null을 반환합니다. node1이 target이고 node1의 값이 nod

    20. C++에서 증분 연산을 사용하여 스택 설계

      다음 작업을 지원하는 스택을 설계한다고 가정합니다. CustomStack(int maxSize) 이것은 스택의 최대 요소 수인 maxSize로 객체를 초기화하거나 스택이 maxSize에 도달하면 아무것도 하지 않습니다. void push(int x) 스택이 maxSize에 도달하지 않은 경우 스택의 맨 위에 x를 삽입합니다. int pop() 스택의 맨 위를 삭제하고 반환하거나 스택이 비어 있으면 -1을 반환합니다. void inc(int k, int val) 이것은 스택의 맨 아래 k 요소를 val만큼 증가시

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:150/300  20-컴퓨터/Page Goto:1 144 145 146 147 148 149 150 151 152 153 154 155 156