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

    1. Python을 사용하여 m개의 꽃다발을 만드는 데 필요한 최소 일수를 찾는 프로그램

      nums라는 정수가 있는 배열이 있고 또 다른 두 개의 값 m과 k가 있다고 가정합니다. 이제 m개의 꽃다발을 만들어야 합니다. 하나의 꽃다발을 만들려면 정원에서 k 개의 인접한 꽃이 필요합니다. 여기 정원은 n개의 다른 꽃으로 구성되어 있으며, i번째 꽃은 bloomDay[i]에 피어납니다. 각 꽃은 하나의 부케에만 사용할 수 있습니다. 우리는 정원에서 m개의 꽃다발을 만들기 위해 기다려야 하는 최소 일수를 찾아야 합니다. m 부케를 만들 수 없으면 -1을 반환합니다. 따라서 입력이 bloomDay =[5,5,5,5,10,5,5

    2. Python을 사용하여 파일 이름을 고유하게 만드는 프로그램

      이름이라는 n개의 문자열 배열이 있다고 가정합니다. i번째 분에 이름이 [i]인 디렉토리를 생성할 수 있도록 파일 시스템에 n개의 디렉토리를 만들어야 합니다. 두 파일은 같은 이름을 가질 수 없습니다. 중복 디렉토리 이름을 입력하면 시스템은 (k) 형식으로 이름에 접미사를 추가합니다. 여기서 k는 얻은 이름이 고유하게 유지되도록 하는 가장 작은 양의 정수입니다. 길이가 n인 문자열 배열을 찾아야 합니다. 여기서 ans[i]는 생성할 때 i번째 디렉토리에 할당할 실제 이름입니다. 따라서 입력이 이름 =[my_dir,my_dir(1)

    3. Python을 사용하여 n의 k번째 인수를 찾는 프로그램

      두 개의 양수 값 n과 k가 있다고 가정합니다. 이제 오름차순으로 정렬된 n의 모든 요소 목록이 있다고 가정하고 이 목록에서 k번째 요소를 찾아야 합니다. k개 미만인 경우 -1을 반환합니다. 따라서 입력이 n =28 k =4와 같으면 출력은 7이 됩니다. 28의 인수는 [1,2,4,7,14,28]이고 네 번째 인수는 7이기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − k가 1과 같으면 1 반환 cand :=요소가 하나인 목록 [1] 범위 2에서 1 + floor of(n의 제곱근)에

    4. Python을 사용하여 하나의 요소를 삭제한 후 1의 가장 긴 하위 배열을 찾는 프로그램

      num이라는 이진 배열이 있다고 가정하고 이 배열에서 하나의 요소를 삭제할 수 있습니다. 결과 배열에서 1만 포함하는 비어 있지 않은 가장 긴 하위 배열의 크기를 찾아야 합니다. 그러한 하위 배열이 없으면 0을 반환합니다. 따라서 입력이 nums =[1,0,1,1,1,0,1,1,0]과 같으면 위치 5에서 0을 제거하면 하위 배열 [1]을 얻을 수 있기 때문에 출력은 5가 됩니다. ,1,1,1,1] 5개의 1이 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 0이 숫자가 아니면 숫자의 크기를 반환 - 1

    5. Python을 사용하여 배열 쌍을 k로 나눌 수 있는지 확인하는 프로그램

      num이라는 배열이 있고 이 배열에 짝수개의 요소가 포함되어 있고 다른 값 k가 있다고 가정합니다. 각 쌍의 합이 k로 나누어지도록 num을 정확히 n/2 쌍으로 분할해야 합니다. 그렇게 할 수 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 따라서 입력이 nums =[9,5,3,4,7,10,20,8] k =3과 같으면 (9,3), (5)와 같은 쌍을 만들 수 있기 때문에 출력은 True가 됩니다. ,7), (4,20), (8,10), 모든 쌍의 합은 3으로 나눌 수 있습니다. 이 문제를 해결하기 위해 다음 단

    6. 파이썬을 사용하여 주어진 합계 조건을 만족하는 부분 수열의 수를 찾는 프로그램

      nums라는 배열과 다른 값 k가 있다고 가정합니다. 최소 및 최대 요소의 합이 k보다 작거나 같도록 nums의 비어 있지 않은 부분 수열의 수를 찾아야 합니다. 답변이 매우 클 수 있으므로 답변 모드 10^9 + 7을 반환합니다. 따라서 입력이 nums =[4,6,7,8] k =11과 같으면 출력은 와 같은 하위 시퀀스가 ​​있기 때문에 4가 됩니다. [4], 여기서 최소값은 4, 최대값은 4이므로 4+4 <=11 [4,6], 여기서 최소값은 4이고 최대값은 6이므로 4+6 <=11 [4,6,7], 여기서 최소값

    7. Python을 사용하여 모든 1로 정사각형 부분행렬의 수를 계산하는 프로그램

      m x n 이진 행렬이 있다고 가정하고 모두 1을 갖는 정사각형 부분행렬의 수를 찾아야 합니다. 그래서, 입력이 같다면. 0 1 1 1 1 1 1 1 0 1 1 1 그러면 1변에 10개의 정사각형이 있으므로 출력은 15가 됩니다. 변 2에 4개의 정사각형과 변 3에 1개의 정사각형이 있습니다. 그러면 총 정사각형 수 =10 + 4 + 1 =15입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 행렬에 하나의 행렬이 있으면 1 반환 행 :=행렬의 행 수 cols :=행렬[0]의 열 개수

    8. Python을 사용하여 모든 부분 행렬을 계산하는 프로그램

      m x n 이진 행렬이 있다고 가정하고 모두 1인 부분행렬의 수를 찾아야 합니다. 따라서 입력이 다음과 같으면 1 0 1 0 1 1 0 1 1 6(1x1) 행렬, 3(2,1) 행렬, 2(1x2) 행렬, 1(3x1) 행렬 및 1(4x4) 행렬이 있으므로 출력은 13이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=행렬의 행 수 n :=행렬의 열 개수 dp :=같은 크기의 0 행렬 m x n 0 ~ m - 1 범위의 i에 대해 수행 0 ~ n - 1 범위의 j에 대해 수행

    9. Python을 사용하여 정렬된 하위 배열 합계의 범위 합계를 찾는 프로그램

      n개의 양수 요소가 있는 배열 num이 있다고 가정합니다. 비어 있지 않은 모든 연속 하위 배열의 합을 계산한 다음 n*(n+1)/2 숫자의 새 배열을 만들어 감소하지 않는 방식으로 정렬합니다. 새 배열에서 왼쪽 인덱스에서 오른쪽 인덱스(1-인덱스)까지의 숫자 합계를 찾아야 합니다. 답은 매우 클 수 있으므로 모듈로 10^9 + 7을 반환합니다. 따라서 입력이 nums =[1,5,2,6] left =1 right =5와 같으면 출력은 20이 됩니다. 여기서 모든 하위 배열 합계는 1, 5, 2, 6, 6, 7, 8이기 때문입니다.

    10. Python을 사용하여 세 번의 이동에서 가장 큰 값과 가장 작은 값의 최소 차이를 찾는 프로그램

      num이라는 배열이 있다고 가정합니다. 이 배열의 한 요소를 한 번에 원하는 값으로 변경할 수 있습니다. 최대 3개의 동작을 수행한 후 num의 가장 큰 값과 가장 작은 값 사이의 최소 차이를 찾아야 합니다. 따라서 입력이 nums =[3,7,2,12,16]과 같으면 주어진 배열을 [1,1,0,1,1]로 만들 수 있으므로 출력은 1이 됩니다. 따라서 최대값은 1이고 최소값은 0이므로 차이는 1입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자의 크기가 <=4이면 0 반환 목록 번호 정렬 a

    11. Python을 사용하여 1만 있는 부분 문자열의 수를 찾는 프로그램

      이진 문자열 s가 있다고 가정합니다. 모든 문자가 1인 부분 문자열의 수를 찾아야 합니다. 답변이 매우 클 수 있으므로 결과 모드 10^9 + 7을 반환합니다. 따라서 입력이 s =1011010과 같으면 출력은 5가 됩니다. 왜냐하면 1. 네 번 1 2. 한 번 11이기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=10^9+7 결과 :=0 div :=0을 사용하여 분할하여 이진 문자열을 나눕니다. div의 각 x에 대해 수행 x가 비어 있으면 다음 반복으로 이동 결과 :

    12. Python을 사용하여 최대 확률로 경로를 찾는 프로그램

      n개의 노드(노드에는 0부터 번호가 지정됨)가 있는 무방향 가중치 그래프가 있다고 가정합니다. 이 그래프는 에지 목록을 사용하여 입력으로 제공되며, 각 에지 e에 대해 해당 에지 확률[e]을 통과할 확률이 있습니다. 우리는 또한 시작과 끝 노드를 가지고 있습니다. 우리는 시작에서 끝으로 가는 최대 성공 확률을 가진 경로를 찾고 성공 확률을 반환해야 합니다. 경로를 찾을 수 없으면 0을 반환합니다. 따라서 입력이 다음과 같으면 노드 0에서 2까지의 두 경로가 있기 때문에 출력은 0.24가 됩니다. 하나는 확률 0.2이고 다른

    13. Python을 사용하여 동일한 레이블을 가진 하위 트리의 노드 수를 찾는 프로그램

      노드가 0에서 n-1까지 번호가 매겨진 n개의 노드가 있는 루트 일반 트리가 있다고 가정합니다. 각 노드에는 소문자 영어로 된 레이블이 있습니다. 레이블은 레이블 배열의 입력으로 제공되며, 여기서 lables[i]는 i번째 노드에 대한 레이블을 포함합니다. 트리는 각 에지 e가 [u,v]를 갖고 u가 부모이고 v가 자식을 나타내는 에지 목록으로 표시됩니다. i와 동일한 레이블을 가진 i번째 노드의 하위 트리에 있는 노드 수를 나타내는 n 크기의 배열 A를 찾아야 합니다. 따라서 입력이 다음과 같으면 여기서 n =5 및 레이블

    14. Python을 사용하여 합이 홀수인 하위 배열의 수를 찾는 프로그램

      배열 arr이 있다고 가정합니다. 합이 홀수인 부분배열의 수를 찾아야 합니다. 답이 너무 크면 10^9+7 모듈로 결과를 반환합니다. 따라서 입력이 arr =[8,3,7]과 같으면 모든 하위 배열이 [[8],[3],[7],[8,3],[3, 7],[8,3,7]] 이제 합 값은 [8,3,7,11,10,18]이므로 세 개의 홀수 합 값 [3,7,11]이 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − freq :=두 개의 요소 1과 0을 가진 목록 답변 :=0 접두사 :=0 arr의 각 x에 대해

    15. Python을 사용하여 문자열을 분할하는 여러 가지 좋은 방법을 찾는 프로그램

      문자열 s가 있다고 가정합니다. 이제 분할은 s를 2개의 비어 있지 않은 문자열 p와 q로 나눌 수 있을 때 좋은 분할이라고 합니다. 우리는 s에서 할 수 있는 좋은 스플릿의 수를 찾아야 합니다. 따라서 입력이 s =xxzxyx와 같으면 여러 분할 방법이 있으므로 출력은 2가 됩니다. 그러나 (xxz, xyx) 또는 (xxzx, yx)와 같이 분할하면 그러면 그들은 좋습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 결과 :=0 왼쪽 :=항목의 빈도를 계산하는 빈 mal right :=s에 있는 각 문

    16. Python을 사용하여 바이너리 문자열을 사용하여 전구 스위처를 만드는 프로그램

      방에 n개의 전구가 있다고 가정하고 이 전구의 번호는 0에서 n-1까지입니다. 우리는 그것들을 왼쪽에서 오른쪽으로 일렬로 배열해야 합니다. 처음에는 모든 전구가 꺼집니다(0 상태). i번째 전구가 켜져 있으면 t[i]가 1이고 꺼져 있으면 0인 지정된 대상 배열 t로 표시되는 구성을 가져와야 합니다. 전구의 상태를 뒤집는 스위치도 있습니다. 그리고 뒤집기 연산은 다음과 같이 정의됩니다 - 전구 색인 i를 선택하십시오. 각 전구를 인덱스 i에서 인덱스 n - 1로 뒤집습니다. 목표를 형성하는 데 필요한 최소 뒤집기 횟

    17. Python을 사용하여 좋은 리프 노드 쌍의 수를 찾는 프로그램

      이진 트리가 있다고 가정합니다. 및 또 다른 값 거리 d. 두 노드 사이의 최단 경로가 거리 d보다 작거나 같을 때 두 개의 서로 다른 잎 노드 쌍을 양호하다고 합니다. 따라서 입력이 다음과 같으면 그리고 거리 d =4이면 경로 길이 거리가 2이므로 쌍은 (8,7) 및 (5,6)이지만 (7,5) 또는 (8,6) 또는 다른 쌍이기 때문에 출력은 2가 됩니다. 경로 길이가 d =4보다 큰 5이므로 좋지 않습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 솔 :=0 util() 함수를 정의합니다. 이것은 뿌

    18. Python을 사용하여 배열 게임의 승자를 찾는 프로그램

      arr이라는 배열이 있고 고유한 요소가 포함되어 있고 또 다른 값 k가 있다고 가정합니다. 이제 배열의 처음 두 요소를 취하는 게임을 고려하십시오. 각 차례에서 우리는 arr[0]과 arr[1]을 비교하고 큰 값이 승리하여 위치 0에 남아 있고 작은 값이 배열의 끝으로 이동합니다. 이 게임은 가치가 연속 라운드에서 승리하면 종료됩니다. 배열에서 승자를 찾아야 합니다. 따라서 입력이 arr =[1,5,6,3,4,2] 및 k =3과 같으면 출력은 이기 때문에 6이 됩니다. 라운드 1, arr =[1,5,6,3,4,2], 승자 5

    19. Python을 사용하여 바이너리 그리드를 정렬하기 위한 최소 스왑을 찾는 프로그램

      n x n 이진 행렬이 있다고 가정합니다. 한 단계에서 인접한 두 행을 선택하고 교체하는 것과 같은 작업을 수행할 수 있습니다. 행렬의 주요 대각선 위의 모든 노드가 0이 되도록 필요한 최소 스왑 수를 계산해야 합니다. 이러한 솔루션이 없으면 -1을 반환합니다. 따라서 입력이 다음과 같으면 0 1 0 0 1 1 1 0 0 출력은 2가 됩니다. - 이 문제를 해결하기 위해 다음 단계를 따릅니다. n :=행렬의 행 수 m :=크기가 n인 배열을 만들고 n으로 채움 범위 0에서 n - 1에 있는 i에 대

    20. Python을 사용하여 K 이동의 문자열을 변환할 수 있는지 여부를 확인하는 프로그램

      두 개의 문자열 s와 t가 있다고 가정하고 k 이동 이하로 s가 t로 변환될 수 있는지 확인해야 합니다. i번째 이동에서는 이러한 작업을 수행할 수 있습니다. 이전 이동에서 1 <=j <=크기 s 및 j가 선택되지 않도록 s에서 인덱스 j(1부터 시작)를 선택하고 해당 인덱스 i의 문자를 여러 번 이동합니다. 그대로 두십시오. 여기서 문자를 이동한다는 것은 알파벳의 다음 문자로 대체하는 것을 의미합니다(문자가 z인 경우 a로 줄바꿈). 따라서 문자를 i번 이동하는 것은 이동 작업을 i번 적용한다는 것을 나타냅니다.

    Total 8994 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:285/450  20-컴퓨터/Page Goto:1 279 280 281 282 283 284 285 286 287 288 289 290 291