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개의 숫자 A1, A2, ..., AN 및 또 다른 정수 B가 있는 배열 A(색인이 1에서 시작)가 있다고 가정합니다. 정수 B는 배열 A의 임의의 인덱스에서 i가 있음을 나타냅니다. 배열 A의 위치 중 하나는 i+1, i+2, …, i+B 인덱싱됩니다. 또한 인덱스 i를 밟으면 Ai만큼의 코인을 지불해야 합니다. Ai가 -1이면 배열에서 인덱스 i인 위치로 이동할 수 없음을 의미합니다. 이제 배열 A에서 인덱스 1인 장소에서 시작하여 최소 코인을 사용하여 인덱스 N 장소에 도달하는 것이 목표입니다. 최소 코인을 사용하여 인덱스

    2. C++에서 9 제거

      정수 n이 있다고 가정하고 다음 작업을 수행한 후 n번째 정수를 반환해야 합니다. 정수 1에서 시작하여 9, 19, 29와 같이 9를 포함하는 정수를 제거합니다. 이제 다음과 같은 새로운 정수 시퀀스가 ​​생깁니다. 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, ... 1이 첫 번째 정수임을 명심해야 합니다. 따라서 입력이 9와 같으면 출력은 10이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0 s :=1 n이 0이 아닌 동안 수행 - ret :=ret + (n mod

    3. C++의 K 빈 슬롯

      N 개의 전구가 연속적으로 있고 1에서 N까지 번호가 매겨져 있다고 가정합니다. 처음에는 모든 전구가 꺼져 있습니다. N일 후에 모든 전구가 켜질 때까지 매일 정확히 하나의 전구를 켤 수 있습니다. 만약 우리가 길이가 N이고 전구[i] =x인 어레이 전구가 있다면 이것은 (i+1)일에 위치 x에서 전구를 켤 것임을 나타냅니다. 우리가 다른 정수 K를 가지고 있다면, 그 사이에 정확히 K개의 전구가 있고 모두 꺼져 있는 두 개의 켜진 전구가 존재하도록 최소 일수를 빼냅니다. 해당 요일이 없으면 -1을 반환합니다. 따라서 입력이 전구

    4. C++의 고유한 섬 II의 수

      grid라고 하는 비어 있지 않은 2D 이진 배열이 있다고 가정합니다. 여기에서 섬은 4방향으로 연결된 1(땅을 나타냄)의 그룹입니다. 그리드의 네 모서리 모두가 물로 둘러싸여 있다고 가정할 수도 있습니다. 우리는 별개의 섬의 수를 세어야 합니다. 섬은 모양이 같거나 90도, 180도, 270도만 회전하거나 왼쪽/오른쪽 또는 위/아래 방향이 반사된 후에도 모양이 같으면 다른 섬과 동일한 것으로 간주됩니다. 따라서 입력이 다음과 같으면 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 그러면 출력

    5. C++의 최소 창 하위 시퀀스

      두 개의 문자열 S와 T가 있다고 가정하고 T는 W의 하위 시퀀스가 ​​되도록 S의 최소 부분 문자열 W를 찾아야 합니다. S에 T의 모든 문자를 포함하는 창이 없으면 빈 문자열을 반환합니다. 이러한 창이 여러 개 있는 경우 시작 인덱스가 가장 왼쪽에 있는 창을 반환해야 합니다. 따라서 입력이 S =abcdebdde, T =bde와 같으면 출력은 bdde보다 먼저 발생하므로 bcde가 됩니다. deb는 창에서 T의 요소가 순서대로 발생해야 하기 때문에 더 작은 창이 아닙니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. −

    6. 직원 자유 시간(C++)

      직원 일정 목록을 제공했다고 가정합니다. 이것은 각 직원의 근무 시간을 나타냅니다. 이제 각 직원에게 겹치지 않는 간격 목록이 있다고 가정하고 이 간격은 정렬됩니다. 우리는 모든 직원에 대한 공통의 양의 길이의 자유 시간을 나타내는 유한 간격 목록을 찾아야 하며 이 목록도 정렬된 순서로 정렬됩니다. 간격을 [x, y] 형식으로 나타냅니다. 예를 들어, schedule [0][0].start =1, schedule[0][0].end =2입니다. 따라서 입력이 schedule =[[[1,2],[5,6]],[[1,3]],[[4,10]]

    7. C++의 기본 계산기 III

      간단한 표현식 문자열이 있고 해당 표현식을 평가하기 위해 기본 계산기를 구현해야 한다고 가정합니다. 표현식 문자열은 여는 괄호와 닫는 괄호, 더하기 + 또는 빼기 기호 -, 음이 아닌 정수 및 공백을 포함할 수 있습니다. 표현식 문자열에는 음이 아닌 정수, +, -, *, / 연산자, 여는 괄호와 닫는 괄호, 공백만 포함됩니다. 정수 나누기는 0 쪽으로 잘려야 합니다. 따라서 입력이 6-4 / 2와 같으면 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − l1 :=0, l2 :=1 o1 :=1,

    8. C++에서 주유소까지의 최대 거리 최소화

      하나의 수평 숫자 라인이 있다고 가정합니다. 해당 번호 라인에는 스테이션[0], 스테이션[1], ..., 스테이션[N-1] 위치에 주유소가 있습니다. 여기서 N =스테이션 배열의 크기입니다. 이제 인접한 주유소 간의 최대 거리 D가 최소화되도록 K 주유소를 추가합니다. D의 가능한 가장 작은 값을 찾아야 합니다. 따라서 입력이 스테이션 =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], K =9와 같으면 출력은 0.5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ok() 함수를 정의하면 x, 배열

    9. C++에서 유효한 부분배열의 수

      정수 배열 A가 있다고 가정하고 다음 조건을 충족하는 비어 있지 않은 연속 하위 배열의 수를 찾아야 합니다. 하위 배열의 맨 왼쪽 요소는 하위 배열의 다른 요소보다 크지 않습니다. 따라서 입력이 [1,4,2,5,3]과 같으면 출력은 11이 됩니다. 11개의 유효한 하위 배열이 있으므로 [1],[4],[2],[5 ],[3],[1,4],[2,5],[1,4,2],[2,5,3],[1,4,2,5],[1,4,2 ,5,3]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0 n :=숫자 크기 하나의 스택 정의

    10. 범위의 자릿수

      0과 9 사이의 정수 d가 있다고 가정하고 하한과 상한으로 각각 상한과 하한 두 개의 양의 정수가 있다고 가정합니다. 하한과 상한을 포함하여 하한과 상한 사이의 모든 정수에서 d가 숫자로 나타나는 횟수를 찾아야 합니다. 따라서 입력이 d =1, low =1, high =13과 같으면 숫자 d=1이 1,10,11,12,13과 같이 6번 발생하므로 출력은 6이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 함수 zero()를 정의하면 n이 필요합니다. ret :=0, x :=0 n이 0과 같으면 -

    11. C++의 혼란스러운 숫자 II

      숫자가 있다고 가정해 보겠습니다. 이제 해당 숫자를 180도 회전하여 새 숫자를 만듭니다. 0, 1, 6, 8, 9를 180도 회전시키면 각각 0, 1, 9, 8, 6이 됩니다. 하지만 2, 3, 4, 5, 7을 180도 회전시키면 무효가 됩니다. 혼동되는 숫자는 180도 회전하면 새로운 숫자가 되는 숫자입니다. 따라서 양의 정수 N이 있는 경우 1과 N 사이에서 혼동되는 숫자의 수를 찾아야 합니다. 따라서 입력이 20과 같으면 출력은 6이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 지도 매핑 정

    12. C++의 최대 개수

      모든 셀의 값이 0 또는 1이고 크기가 l x l인 M의 정사각형 부분행렬이 최대 maxOnes개의 1을 갖도록 차원이 w x h인 행렬 M이 있다고 가정합니다. 행렬 M이 가질 수 있는 최대 가능한 개수를 찾아야 합니다. 따라서 입력이 w =3, h =3, l =2, maxOnes =1과 같으면 출력은 3*3 행렬에서와 같이 4가 됩니다. 2*2 부분 행렬은 1개 이상을 가질 수 없습니다. . 4개가 있는 가장 좋은 솔루션은 - 1 0 1 0 0 0 1 0 1 이 문제를 해결하기 위해 다음 단계를 따릅니다. −

    13. C++에서 블록을 만드는 최소 시간

      블록 목록이 있다고 가정하고 블록[i] =t이면 i번째 블록을 구축하는 데 t 단위 시간이 필요합니다. 블록은 정확히 한 명의 작업자만 만들 수 있습니다. 단일 작업자는 두 작업자로 분할하거나 블록을 만든 다음 집에 갈 수 있습니다. 이 두 가지 결정에는 시간이 걸립니다. 한 작업자를 두 작업자로 나누는 시간 비용은 분할이라는 숫자로 표시됩니다. 따라서 입력이 블록 =[1,2]이고 split =5와 같으면 작업자를 5시간 단위로 2명의 작업자로 분할한 다음 각각을 블록에 할당하여 비용을 절감할 수 있으므로 출력은 7이 됩니다. 5

    14. C++에서 유효한 회문 III

      문자열 s와 다른 숫자 k가 있다고 가정합니다. 주어진 문자열이 K-Palindrome인지 여부를 확인해야 합니다. 문자열에서 최대 k 문자를 제거하여 회문으로 변환할 수 있는 경우 문자열을 K-회문이라고 합니다. 따라서 입력이 s =abcdeca, k =2와 같으면 b 및 e 문자를 제거하면 회문이 되는 것처럼 출력이 true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − lcs() 함수를 정의하면 s, t,가 필요합니다. n :=s의 크기 s 앞에 공백 하나 추가 t 앞에 공백 하나 추

    15. C++에서 초콜릿 나누기

      몇 개의 덩어리로 구성된 초콜릿 바가 하나 있다고 가정합니다. 각 청크에는 단맛이라는 목록에 의해 주어진 고유한 단맛이 있습니다. K 친구와 초콜릿을 공유하려면 K 컷을 사용하여 초콜릿 바를 K+1 조각으로 자르기 시작합니다. 이제 각 조각은 연속적인 덩어리로 구성됩니다. 우리가 최소한의 총 단맛을 가진 조각을 꺼내고 다른 조각을 우리 친구들에게 준다면. 우리는 초콜릿 바를 최적으로 절단하여 얻을 수 있는 조각의 최대 총 단맛을 찾아야 합니다. 따라서 입력이 sweet =[1,2,3,4,5,6,7,8,9], K =5와 같으면 초콜

    16. C++에서 회문 제거

      arr이라는 정수 배열이 있다고 가정하고, 이제 한 번의 이동으로 i <=j인 인덱스 i에서 j까지 회문 하위 배열을 선택하고 주어진 배열에서 해당 하위 배열을 제거할 수 있습니다. 하위 배열을 제거한 후 해당 하위 배열의 왼쪽과 오른쪽에 있는 요소가 제거로 인해 남은 간격을 채우기 위해 이동한다는 점을 명심해야 합니다. 배열에서 모든 숫자를 제거하는 데 필요한 최소 이동 횟수를 찾아야 합니다. 따라서 입력이 arr =[1,3,4,1,5]와 같으면 출력은 3이 됩니다. 이 시퀀스에서 제거할 수 있으므로 [4]를 제거한 다음 [1,

    17. C++에서 교차하지 않는 악수

      원 주위에 서 있는 짝수 명의 사람이 있고 각 사람이 다른 사람과 악수한다고 가정하면 총 n/2회의 악수가 됩니다. 악수가 교차하지 않도록 이러한 악수가 발생할 수 있는 방법의 수를 찾아야 합니다. 답변이 매우 클 수 있으므로 답변 모드 10^9 + 7을 반환하십시오. 따라서 입력이 n =2와 같으면 출력은 1이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=10^9 + 7 (n+1) 크기의 배열 dp 정의 dp[0] :=1 초기화 i :=0의 경우 i <=n일 때 i 업데이트 i

    18. C++ 프로그래밍에서 연결 목록을 삭제하는 함수 작성

      여기에서는 연결 리스트의 모든 요소를 ​​하나씩 삭제하는 함수를 만들 것입니다. c/c++에서는 이 작업을 수행하는 특정 기능이 없지만 Java에서는 자동 가비지 컬렉션을 수행하여 연결 목록을 쉽게 삭제할 수 있습니다. 이제 이 프로그램의 구현을 살펴보겠습니다. 예시 #include <iostream> using namespace std; class Node{    public:    int data;    Node* next; }; void deleteLinked

    19. C++에서 주어진 확률에 따라 3개의 숫자 중 하나를 생성하는 함수 작성

      이 문제에서는 주어진 확률에 따라 세 개의 숫자를 생성하는 함수를 만들어야 합니다. 이를 위해 우리는 [a, b] 범위 내에서 동일한 확률로 난수를 생성하는 rand(a, b)인 내장 난수 생성기 함수를 사용할 것입니다. 우리의 임무는 각각 확률 P(A) + P(B)의 정의에 따라 P(A), P(B), P(C)로 발생할 확률이 있는 세 개의 숫자 A, B, C만 반환하는 것입니다. + P(C) =1. rand(a,b)를 사용하여 함수를 생성합니다. 우리는 b에서 b까지의 임의의 숫자가 발생할 확률이 동일하다는 특징을 사용할 것

    20. C++의 연결 목록에서 주어진 int가 발생하는 횟수를 계산하는 함수를 작성하십시오.

      이 문제에서는 연결 목록이 제공됩니다. 우리의 임무는 링크드 리스트에서 주어진 숫자가 몇 번인지 셀 수 있는 함수를 만드는 것입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 Linked list = 10-> 50 -> 10 -> 20 -> 100 -> 10, int = 10 출력 3 설명 - 10번은 연결 리스트에서 3번 나옵니다. 이 문제에 대한 해결책은 간단합니다. 연결 목록을 탐색하고 카운터를 증가시키면 현재 노드 값이 주어진 숫자와 같습니다. 연결 목록의 노드에 대한 루프는 반복과

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