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까지 가능한 모든 경로를 찾아 원하는 순서로 반환해야 합니다. 그래프는 다음과 같이 주어집니다. 노드는 0, 1, ..., graph.length - 1입니다. graph[i]는 가장자리(i, j)가 존재하는 모든 노드 j의 목록입니다. 따라서 입력이 [[1,2], [3], [3], []]와 같으면 출력은 [[0,1,3], [0,2,3]]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res라는 하나의 2차원 배열을 만듭니다

    2. C++에서 시퀀스 증가를 위한 최소 스왑

      길이가 0이 아닌 동일한 두 정수 시퀀스 A와 B가 있다고 가정합니다. 요소 A[i]와 B[i]를 교환할 수 있습니다. 두 요소가 각각의 시퀀스에서 동일한 인덱스 위치에 있다는 점을 명심해야 합니다. 일정 수의 스왑을 완료한 후 A와 B는 모두 엄격하게 증가합니다. 두 시퀀스를 엄격하게 증가시키려면 최소 스왑 수를 찾아야 합니다. 따라서 입력이 A =[1,3,5,4] 및 B =[1,2,3,7]인 경우 A[3]을 B[3]으로 바꾸면 답은 1이 됩니다. 그러면 시퀀스는 A =[1,3,5,7] 및 B =[1,2,3,4]가 되며 둘 다

    3. C++에서 카멜케이스 매칭

      쿼리 목록과 패턴이 있다고 가정하고 부울 목록이 될 답변을 반환해야 합니다. 여기서 쿼리[i]가 패턴과 일치하는 경우에만 answer[i]가 true입니다. 쿼리 단어는 쿼리와 동일하도록 패턴 단어에 소문자를 삽입할 수 있는 경우 주어진 패턴과 일치합니다. 따라서 입력이 [FooBar,FooBarTest,FootBall,FrameBuffer,ForceFeedBack]이고 패턴 =FB인 경우 결과는 [true,false,true,false,false]가 됩니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − inse

    4. C++에서 가능한 한 육지에서 멀리

      0과 1과 같은 값만 포함하는 하나의 N x N 그리드가 있다고 가정합니다. 여기서 0은 물을 나타내고 1은 토지를 나타냅니다. 가장 가까운 육지 셀까지의 거리가 최대화되도록 물 셀을 찾고 거리를 반환해야 합니다. 여기서 우리는 맨해튼 거리를 사용할 것입니다 - 두 셀 (x0, y0)과 (x1, y1) 사이의 거리는 |x0 - x1| + |y0 - y1|. 그리드에 육지나 물이 없으면 -1을 반환합니다. 1 0 1 0 0 0 1 0 1 그러면 셀 (1,1)이 거리 2인 모든 토지에서 최대한 멀리 떨어져 있으므로 출력은 2

    5. C++의 잘못된 트랜잭션

      일부 거래가 있다고 가정합니다. 다음과 같은 경우 트랜잭션이 유효하지 않을 수 있습니다. - 금액이 $1000를 초과하거나; 다른 도시에서 동일한 이름의 다른 거래가 발생한 후 60분 이내에(포함하여) 발생한 경우 여기서 각 트랜잭션 문자열 transaction[i]은 트랜잭션의 이름, 시간(분), 금액 및 도시를 나타내는 쉼표로 구분된 값으로 구성됩니다. 거래 목록이 있으며 유효하지 않을 수 있는 거래 목록을 찾습니다. 따라서 입력이 [alice,20,800,mtv, bob,50,1200,mtv]와 같으면 답은 [

    6. C++의 K-연결 최대 합

      정수 배열 arr와 하나의 정수 k가 있다고 가정하고 k번 반복하여 배열을 변경해야 합니다. 따라서 arr =[1, 2]이고 k =3이면 수정된 배열은 [1, 2, 1, 2, 1, 2]가 됩니다. 이제 수정된 배열에서 최대 하위 배열 합계를 찾아야 합니다. 하위 배열의 길이는 0일 수 있으며 이 경우 합은 0입니다. 답이 매우 클 수 있으므로 모듈로 10^9 + 7로 답을 찾으세요. 따라서 입력이 [1,-2,1]이고 k =5이면 결과는 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − getKadane()

    7. C++에서 균형 문자열의 하위 문자열 바꾸기

      4가지 종류의 문자 Q, W, E 및 R만 포함하는 문자열이 있다고 가정합니다. 문자열의 각 문자가 n/4번 나타나면 문자열이 균형을 이룹니다. 여기서 n은 문자열의 길이입니다. 원래 문자열이 균형을 이루도록 동일한 길이의 다른 문자열로 대체될 수 있는 부분 문자열의 최소 길이를 찾으십시오. 따라서 s =QQWE이면 출력은 1이 됩니다. 이는 Q를 R로 바꿀 수 있기 때문입니다. 그래서 RQWE가 균형을 이룹니다. 문자열이 이미 균형을 이루고 있으면 0을 반환합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의

    8. C++에서 이진 표현의 순환 순열

      2개의 정수 n이 있고 시작한다고 가정합니다. 우리의 작업은 다음과 같이 (0,1,2.....,2^n -1)의 순열 p를 반환하는 것입니다. - p[0] =시작 p[i] 및 p[i+1]은 이진 표현에서 1비트만 다릅니다. p[0] 및 p[2^n -1]도 이진 표현에서 1비트만 달라야 합니다. 따라서 입력이 n =2 및 시작 =3과 같으면 반환된 배열은 [3,2,0,1]이고 이들은 [11,10,00,01]입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans는 배열입니다 0~2^n 범위의 i에 대해 시작 XOR

    9. C++에서 고유한 문자가 있는 연결된 문자열의 최대 길이

      arr 문자열 배열이 있다고 가정합니다. 문자열 s는 고유한 문자를 가진 arr의 하위 시퀀스를 연결한 것입니다. s의 가능한 최대 길이를 찾으십시오. 입력이 [cha, r, act, ers]와 같은 경우 출력은 6이고 가능한 솔루션은 chaers 및 acters입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ok()라는 메서드를 하나 만들고 문자열 s와 t를 사용합니다. 다음과 같이 작동합니다. 하나의 지도 만들기 x 0부터 s까지의 범위에 있는 i의 경우 x[s[i]] 1씩 증가 1이면 false를 반환합니다.

    10. C++에서 2행 이진 행렬 재구성

      n개의 열과 2개의 행이 있는 행렬에 대한 다음 세부 정보가 있다고 가정합니다. - 행렬 요소는 0 또는 1입니다. 0번째(상단)행의 원소의 합을 상위로 한다. 첫 번째(하단) 행의 요소 합은 더 낮은 것으로 표시됩니다. i번째 열(0-인덱싱)에 있는 요소의 합은 colsum[i]이며, 여기서 colsum은 길이가 n인 정수 배열로 제공됩니다. 작업은 상위, 하위 및 colsum으로 행렬을 재구성하는 것입니다. 2D 정수 배열로 찾아야 합니다. 둘 이상의 유효한 솔루션이 있는 경우 그 중 하나가 허용됩니다. 유효한 솔루션이 없

    11. C++에서 숫자 인코딩

      음이 아닌 정수 n이 있고 인코딩된 형식을 찾아야 한다고 가정합니다. 인코딩 전략은 다음과 같습니다 - 번호 인코딩된 숫자 0 1 “0” 2 “1” 3 00 4 01 5 10 6 11 7 000 따라서 숫자가 23이면 결과는 1000이 되고 숫자가 54이면 10111이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − bin이라는 메소드를 하나 생성합니다. 이것은 n과 k가 필요하며 이 메소드는 아래와 같이 작동합니다. res :=빈 문자열 0 동안 res :=res + n mod 2의 숫자

    12. C++에서 가장 작은 공통 영역

      각 목록의 첫 번째 지역이 해당 목록의 다른 모든 지역을 포함하는 지역 목록이 있다고 가정합니다. 기본적으로 영역 X가 다른 영역 Y를 포함하는 경우 X는 Y보다 큽니다. 또한 정의에 따라 영역 X는 자체를 포함합니다. 따라서 두 개의 영역 r1과 r2가 있는 경우 두 영역을 모두 포함하는 가장 작은 영역을 찾아야 합니다. 따라서 r1에 r3이 포함되도록 r1, r2 및 r3이 있는 경우 r2에 r3이 포함되는 r2가 없다는 것이 보장됩니다. 따라서 입력이 [[지구,북아메리카,남아메리카], [북아메리카,미국,캐나다], [미국,뉴욕,

    13. C++에서 3으로 나눌 수 있는 최대 합

      정수 배열이 있다고 가정하고 3으로 나눌 수 있도록 주어진 배열 요소의 가능한 최대 합을 찾아야 합니다. 따라서 입력이 [3,6,5,1,8]과 같으면 하위 배열이 [3,6,1,8]이고 합계가 18이므로 3으로 나눌 수 있으므로 출력은 18이 됩니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=숫자 배열의 크기 (n + 1) x 3 크기의 2차원 배열 dp 하나 생성 dp[0, 0] :=0, dp[0,1] :=-inf, dp[0,2] :=inf 설정 1에서 n 사이의 i에 대해; x :=숫자[i - 1] 0 ~

    14. C++에서 재료 낭비가 없는 버거의 수

      두 개의 정수 토마토 슬라이스와 치즈 슬라이스가 있다고 가정합니다. 다양한 버거의 재료입니다 − 점보 버거:토마토 조각 4개와 치즈 조각 1개. 스몰 버거:토마토 2개와 치즈 1개. [total_jumbo, total_small]을 찾아야 남은 토마토 슬라이스의 수가 0이 되고 남은 치즈 슬라이스의 수도 0이 됩니다. 나머지 토마토 슬라이스와 치즈 슬라이스를 0으로 만드는 것이 불가능하면 반환 []. 따라서 입력이matoSlices =16이고 chesseSlices =7이면 출력은 [1, 6]이 됩니다. 따라서 이것은 점보 버

    15. C++에서 모두 1로 정사각형 부분행렬 계산하기

      크기가 m x n인 이진 행렬을 가정합니다. 우리는 모두 1인 제곱 부분행렬의 수를 계산해야 합니다. 따라서 행렬이 다음과 같은 경우 - 0 1 1 1 1 1 1 1 0 1 1 1 따라서 15개의 정사각형이 됩니다. 단일 사각형 10개, 4 사각형 4개, 9개가 있는 사각형 1개. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − set ans :=0, n :=행 개수 및 m :=열 개수 0 ~ m – 1 범위의 i에 대해 ans :=ans + 행렬[n – 1, i] 0 ~ n – 1 범위의 i에 대해 ans :

    16. C++에서 그들이 속한 그룹 크기가 주어지면 사람들을 그룹화하십시오.

      ID 범위가 0에서 n - 1인 n명의 사람이 있고 각 사람이 정확히 한 그룹에 속한다고 가정합니다. 길이가 n인 배열 groupSizes가 있습니다. 이 배열은 각 사람이 속한 그룹의 크기를 나타내며 거기에 있는 그룹과 각 그룹에 포함된 사람들의 ID를 찾아야 합니다. 입력이 − [3,3,3,3,3,1,3]과 같다고 가정하고 출력은 [[5], [0, 1, 2], [3, 4, 6]], 기타 가능 솔루션은 [[2,1,6],[5], [0,4,3]] 또는 [[5], [0,6,2], [4,3,1]]일 수 있습니다. 이 문제를 해결하기

    17. C++에서 임계값이 주어진 가장 작은 제수 찾기

      nums라고 하는 정수 배열과 임계값인 정수 k가 있다고 가정하고 양의 정수 제수를 선택하고 모든 배열을 그것으로 나누고 나누기 결과를 합산합니다. 위에서 언급한 결과가 임계값 k보다 작거나 같도록 가장 작은 제수를 찾아야 합니다. 예를 들어 - nums =[1,2,5,9]이고 k =6이면 출력은 5가 됩니다. 제수가 1일 때 (1+2+5+9) =17로 합을 얻을 수 있습니다. 제수가 4이면 합 7을 (1+1+2+3)으로 얻을 수 있고, 제수가 5이면 합은 (1+1+1+2) =5가 됩니다. 반드시 답이 있을 것입니다. 이 문제를

    18. C++의 연속 숫자

      숫자의 각 숫자가 이전 숫자보다 하나 더 많은 경우에만 연속 숫자를 갖는 정수가 있다고 가정합니다. [low, high] 범위에 있는 모든 정수의 정렬된 목록을 찾아야 하며, 여기에는 연속 숫자가 포함됩니다. 따라서 low =100이고 high =300이면 출력은 [123,234]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 배열 res를 생성 1~n 범위의 i에 대해 j의 경우 :=1, j + i – 1 <=9까지 x :=0 0 ~ i – 1 범위의 k에 대해 x :=10x + (j + k) 낮은

    19. C++에서 K개의 연속 숫자 세트로 배열 나누기

      정수 nums와 양의 정수 k의 배열이 있다고 가정하고 이 배열을 k개의 연속 숫자 집합으로 나눌 수 있는지 여부를 찾아야 합니다. 따라서 가능한 경우 True를 반환하고 그렇지 않으면 False를 반환해야 합니다. 따라서 입력이 [1,2,3,3,4,4,5,6]이고 k =4이면 출력은 true가 됩니다. 이는 [1,2,3,4] 및 [3,4,5,6] 과 같이 배열을 나눌 수 있기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 맵을 m으로 만들고 n :=nums 배열의 크기로 설정 nums의 각 요소 e에

    20. C++에서 대상에 가장 가까운 변형된 배열의 합

      정수 배열 arr와 목표 값 대상이 있다고 가정하고 주어진 배열의 값보다 큰 모든 정수를 변경할 때 배열의 합이 다음과 같이 가장 가까운 정수 값을 찾아야 합니다. 타겟 가능. 그것들이 같으면 그러한 정수의 최소값을 반환합니다. 따라서 배열이 [4,9,3]과 같고 대상이 10이면 3을 사용하여 출력은 3이 되고 배열은 [3,3,3]이 되므로 합계는 9, 즉 가장 가까운 요소입니다. 10. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=배열의 크기, avg :=total / n, set sum :=0 및 cnt :=0

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:167/300  20-컴퓨터/Page Goto:1 161 162 163 164 165 166 167 168 169 170 171 172 173