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

    1. C++ 프로그램에서 주어진 인덱스를 업데이트하고 범위 내에서 gcd를 찾는 쿼리

      이 문제에서는 크기가 N인 배열 arr[]과 두 가지 유형이 가능한 Q 쿼리가 제공됩니다. 우리의 임무는 주어진 인덱스를 업데이트하고 범위에서 GCD를 찾는 쿼리를 해결하는 프로그램을 만드는 것입니다. 쿼리는 - 유형 1 − {1, index, value} - 주어진 인덱스의 요소를 값만큼 증가시킵니다. 유형 2 − {2, L, R} - 인덱스 범위 [L, R]에 있는 요소의 GCD를 찾습니다. 문제 설명 − [L, R] 범위에 있는 요소의 GCD를 찾아 값을 반환해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다.

    2. C++ 프로그램의 트리에서 조상-후손 관계 쿼리

      이 문제에서는 N개의 정점 트리와 각각 두 개의 값 i와 j로 구성된 Q 쿼리가 제공됩니다. 우리의 임무는 트리에서 조상-후손 관계에 대한 쿼리를 해결하는 프로그램을 만드는 것입니다. 각 쿼리를 해결하려면 노드 i가 트리에서 노드 j의 조상인지 확인해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 Q = 2, query[][] = {{3, 5}, {1, 6}} 출력 No Yes 설명 i = 3, j = 5: The node 3 is not the ancestor of node 5. Return NO. i = 1

    3. C++의 다른 목록에서 선택한 요소 간의 가장 작은 차이를 찾는 프로그램

      목록의 목록이 있다고 가정하고 각 목록에서 하나의 값을 선택하고 선택한 요소의 최대값과 최소값 사이의 차이를 취하여 형성할 수 있는 가장 작은 차이를 찾아야 합니다. 따라서 입력이 목록 =[ [30, 50, 90], [85], [35, 70]]과 같으면 출력은 20이 됩니다. 90, 85, 70 및 90 - 70 =20 이 문제를 해결하기 위해 다음 단계를 따릅니다. − maxVal :=-inf ret :=inf 우선순위 큐 pq 정의 n :=목록 크기 initialize i :=0의 경우, i

    4. C++에서 k 하위 목록의 최소 최대 합을 찾는 프로그램

      nums라는 숫자 목록과 다른 값 k가 있다고 가정합니다. 목록을 k개의 비어 있지 않은 하위 목록으로 분할할 수 있습니다. k 하위 목록의 최소 최대 합을 찾아야 합니다. 따라서 입력이 nums =[2, 4, 3, 5, 12] k =2와 같으면 [2, 4, 3, 5] 및 [ 12]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ok() 함수를 정의하면 배열 v, k, x,가 사용됩니다. cnt :=0, 합계 :=0 v −의 각 요소 i에 대해 x이면 - 합계 :=나는 (cnt를 1씩 증가

    5. C++에서 문자열의 최소 분할 수 후 회문 수를 계산하는 프로그램

      소문자 문자열 s가 있다고 가정하고 가능한 한 적은 문자열로 분할하여 각 문자열이 회문(palindrome)이 되도록 한 다음 문자열의 수를 찾아야 합니다. 따라서 입력이 s =levelracecar와 같으면 두 개의 회문 level과 racecar가 있으므로 출력은 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=A의 크기 크기(n + 1)의 배열 결과 정의 결과[n] :=-1 =0일 때 업데이트(i를 1만큼 감소), − 결과[i] :=n - i - 1 초기화 j :=i의

    6. C++에서 동일한 값의 k x k 제곱이 주어진 행렬에서 k를 찾는 프로그램

      2차원 행렬이 있다고 가정하고 모든 요소가 동일한 값을 포함하는 가장 큰 k × k 부분행렬을 찾은 다음 k 값을 찾아야 합니다. 따라서 입력이 다음과 같으면 1 1 8 3 1 5 5 5 2 5 5 5 4 5 5 5 값이 5인 3 × 3 정방 행렬이 있으므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=행렬의 행 수 m :=행렬의 열 개수 크기(n x m)의 하나의 2D 배열 dp를 정의하고 1로 채웁니다. 렛 :=1 =0일 때 업데이트(i를 1만큼 감소)

    7. C++에서 최소 구문 분석 트리를 찾는 프로그램

      문자열의 중단점을 나타내는 고유하고 정렬된 숫자 목록이 있다고 가정합니다. 우리는 이러한 규칙에서 트리를 만들고 싶습니다 - 값이 (a, b)인 노드가 있으며 여기서 b와 b는 중단점입니다. 이는 노드가 문자열의 인덱스 [a, b]에 걸쳐 있음을 의미합니다. 루트 노드는 모든 중단점에 걸쳐 있습니다. (전체 문자열). 노드의 왼쪽 및 오른쪽 자식 범위는 순서가 지정되고 연속적이며 부모 노드의 범위를 포함합니다. 리프 노드의 중단점에서 a의 인덱스는 중단점에서 b의 인덱스보다 먼저 1입니다. 트리의 비용은

    8. C++에서 계곡 사이에 잡아야 하는 비의 양을 알아내는 프로그램

      요소가 지형의 높이를 나타내는 2D 행렬이 있다고 가정합니다. 비가 와서 계곡의 모든 공간이 채워지는 상황을 상상해 봅시다. 계곡 사이에 끼게 될 비의 양을 알아내야 합니다. 따라서 입력이 다음과 같으면 6 6 6 8 6 4 5 8 6 6 6 6 그러면 4에서 5칸 사이에 3단위의 물을 담을 수 있으므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − x 및 y 좌표와 높이 h를 포함하는 구조 데이터 정의 우선 순위 대기열 pq를 정의하고 높이 값에 따라 정렬된 데이터 항목을 저장

    9. C++의 주어진 문자열에서 k개의 고유한 부분 시퀀스를 찾은 후 비용을 찾는 프로그램

      문자열 s와 다른 값 k가 있다고 가정합니다. k개의 고유한 하위 시퀀스를 얻을 수 있도록 s의 일부 하위 시퀀스를 선택해야 합니다. 여기서 부분 시퀀스를 선택하는 비용은 (s)의 길이 - (부분 시퀀스)의 길이와 같습니다. 따라서 k개의 고유한 하위 시퀀스를 선택한 후 가능한 가장 낮은 총 비용을 찾아야 합니다. 이 집합을 찾을 수 없으면 -1을 반환합니다. 빈 문자열을 유효한 하위 시퀀스로 간주합니다. 따라서 입력이 s =pqrs, k =4와 같으면 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. −

    10. C++에서 두 점 사이의 최단 거리를 찾는 프로그램

      각 요소가 유클리드 좌표를 나타내는 [x, y] 형식인 좌표 목록이 있다고 가정합니다. 가장 작은 제곱 거리(x1 - x2 ) 2 + (y1 - y2 ) 2 제공된 두 좌표 사이. 따라서 입력이 좌표 ={{1, 2},{1, 4},{3, 5}}와 같으면 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 지도 정의 ytorightmostx 배열 좌표 정렬 ret :=무한대 좌표의 각 p에 대해 - it =(p[1] - sqrt(ret))가 ytorightmostx에 있거나 y

    11. C++에서 모든 홀수 길이 하위 목록의 중앙값 합계를 찾는 프로그램

      nums라는 숫자 목록이 있다고 가정하고 주어진 목록의 모든 홀수 길이 하위 목록의 중앙값 합계를 찾아야 합니다. 따라서 입력이 nums =[2, 4, 6, 3]과 같으면 홀수 길이의 하위 목록이 − [2], [4], [6], [3]이므로 출력은 23이 됩니다. [2, 4, 6], [4, 6, 3]이므로 중앙값의 합은 2 + 4 + 6 + 3 + 4 + 4 =23입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0 initialize i :=0의 경우, i <숫자의 크기일 때 업데이트(i를 1만큼

    12. C++에서 모든 양말 쌍을 함께 정렬하는 데 필요한 최소 스왑 수를 찾는 프로그램

      행이라는 숫자 목록이 있고 이것이 행에 누워 있는 양말을 나타낸다고 가정합니다. 그것들은 정렬되어 있지 않지만 (0, 1), (2, 3), (4, 5) 등과 같이 각 양말 쌍이 나란히 있도록 재배열하고 싶습니다. 재정렬에 필요한 최소 스왑 수를 찾아야 합니다. 따라서 입력이 행 =[0, 5, 6, 2, 1, 3, 7, 4]와 같으면 행 순서가이므로 출력은 2가 됩니다. [0, 5, 6, 2, 1, 3, 7, 4] [0, 1, 6, 2, 5, 3, 7, 4] [0, 1, 3, 2, 5, 6, 7, 4] [0,

    13. C++에서 상대방을 잡기 위해 필요한 최소 걸음 수를 찾는 프로그램

      [u, v] 형식의 트리 가장자리 목록이 있다고 가정합니다. 이는 u와 v 사이에 무방향 가장자리가 있음을 나타냅니다. 그리고 x와 y 값도 두 개 있습니다. 우리가 노드 x에 있고 상대가 노드 y에 있는 경우. 첫 번째 라운드에서는 우리가 이동하고 다음 라운드에서는 상대방이 이동하는 식으로 진행됩니다. 상대방은 라운드에서 움직이지 않도록 선택할 수 있습니다. 상대를 잡는 데 필요한 최소 라운드 수를 찾아야 합니다. 따라서 입력이 edge =[[0, 1], [0, 2], [1, 3], [1, 4]], x =0, y =3과 같으면

    14. Python의 모든 셀에서 모든 사람을 만나는 데 필요한 최소 단계 수를 찾는 프로그램

      다음 값이 있는 2D 행렬이 있다고 가정합니다. 0은 빈 셀을 나타냅니다. 1은 벽을 나타냅니다. 2는 사람을 나타냅니다. 이제 사람은 위, 아래, 왼쪽, 오른쪽의 네 방향 중 하나를 걸을 수 있습니다. 그렇지 않으면 한 시간 단위에 머물 수 있습니다. 우리는 모든 사람이 만나고 시간을 반환하는 데 걸리는 시간을 최소화할 수 있는 걸을 수 있는 감방을 찾아야 합니다. 우리는 두 사람이 같은 빈 셀을 통과할 수 있다는 점을 명심해야 하며 두 사람 사이에는 항상 어떤 길이 있다고 가정할 수 있습니다. 따라서 입력이 다음과 같으면 2

    15. Python에서 이진 트리의 상위 뷰를 찾는 프로그램

      이진 트리가 있다고 가정하고 트리의 상위 뷰를 찾아야 하며 왼쪽에서 오른쪽으로 정렬됩니다. 따라서 입력이 이미지와 같으면 출력은 [3, 5, 8, 6, 9]가 됩니다. 3은 2보다 크고 5는 7보다 높으므로 보이지 않습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 보기 :=새로운 빈 지도 q :=이중 종료 큐 q의 끝에 쌍(루트, 0) 삽입 시작 :=inf, 끝 :=-inf q가 비어 있지 않은 동안 수행 (노드, 좌표) :=q의 왼쪽 요소, q의 왼쪽 요소 제거 시작 :=시작

    16. C++에서 도미노와 트로미노로 영역을 채우기 위해 구성 수를 계산하는 프로그램이 있습니다.

      Domino와 Tromino의 두 가지 모양이 있다고 가정합니다. 도미노는 2 x 1 모양이고 트로미노는 L자 모양입니다. 아래와 같이 회전할 수 있습니다 - 숫자 n이 있는 경우 이 두 가지 유형의 조각으로 2 x n 보드를 채우는 구성의 수를 찾아야 합니다. 타일링에서 알 수 있듯이 모든 사각형은 타일로 덮여 있어야 합니다. 따라서 입력이 3이면 출력은 5가 됩니다. 따라서 배열은 [XYZ XXZ XYY XXY XYY] 및 [XYZ YYZ XZZ XYY XXY]가 될 수 있습니다. 여기에서 다른 문자는 다른 타일에 사용됩

    17. C++에서 target과 동일한 고유한 하위 시퀀스의 수를 찾는 프로그램

      두 개의 소문자 문자열 s와 t가 있다고 가정하면 t와 동일한 s의 부분 시퀀스 수를 찾아야 합니다. 답이 매우 크면 10^9 + 7로 결과를 반환합니다. 따라서 입력이 s =abbd t =bd와 같으면 두 개의 가능한 하위 시퀀스 bd가 있으므로 출력은 2가 됩니다. s[1] s[3] 연결 s[2] s[3]을 연결합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=10^9 + 7 t의 크기가 0과 같으면 - 0 반환 t가 s와 같으면 - 1 반환 s의 크기인

    18. C++에서 문자열의 고유한 하위 시퀀스 수를 계산하는 프로그램

      문자열 s가 있다고 가정하고 s의 비어 있지 않은 고유 하위 시퀀스의 수를 찾아야 합니다. 답이 매우 크면 결과를 10^9 + 7로 수정합니다. 따라서 입력이 s =xxy와 같으면 x, xx, xy, y 및 xxy라는 5개의 하위 시퀀스가 ​​있으므로 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=10^9 + 7 n :=s의 크기 크기가 26인 배열 테이블 정의 해상도 :=0 for initialize i :=1, i <=n일 때 업데이트(i를 1만큼 증가), do−

    19. C++에서 직원의 성과에 따라 직원에게 최종적으로 지불해야 하는 금액을 찾는 프로그램

      성능과 비용이라는 길이가 같은 두 개의 숫자 목록이 있다고 가정합니다. 그리고 또 다른 숫자 k가 있습니다. 이는 각 작업자 i가 성능[i] 수준에서 수행하고 비용이 최소한 비용[i]임을 나타냅니다. 직원들이 그룹의 다른 직원에 비해 성과에 비례하여 급여를 받을 것이라는 점을 감안할 때 k 직원을 고용하기 위한 최소 비용을 찾아야 합니다. 따라서 입력이 performance =[5, 3, 2] 비용 =[100, 5, 4] k =2와 같으면 emp1과 emp2를 선택할 수 있으므로 출력은 10이 됩니다. 그들은 최소한 5 + 4 =

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:236/300  20-컴퓨터/Page Goto:1 230 231 232 233 234 235 236 237 238 239 240 241 242