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

    1. Python에서 트리의 인접하지 않은 노드의 최대 합을 찾는 프로그램

      이진 트리가 있다고 가정하고 부모와 자식이 인접할 수 없는 두 값이 주어지면 얻을 수 있는 값의 최대 합을 찾아야 합니다. 따라서 입력이 다음과 같으면 10, 4, 3이 서로 인접하지 않으므로 출력은 17이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − f() 함수를 정의합니다. 노드가 필요합니다. 노드가 null이면 반환(0, 0) (a, b) :=f(노드의 왼쪽) (c, d) :=f(노드 오른쪽) 쌍을 반환(노드 + b + d 및 a + c, a + c의 값의 최대값) 메인 메서드에서 f(root)

    2. 파이썬에서 비공유 단어의 최대 길이를 찾는 프로그램

      단어라고 하는 소문자 알파벳 문자열 목록이 있다고 가정하고 공통 문자를 공유하지 않는 두 개의 고유한 단어 길이의 최대 합을 찾아야 합니다. 따라서 입력이 단어 =[abcd, mno , abdcmno, amno], 단어가 공통 문자를 공유하지 않기 때문에 출력은 7이 됩니다. [abcd, mno], 총 길이는 7입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − sign() 함수를 정의합니다. 말이 필요합니다 값:=0 단어의 각 c에 대해 수행 값 :=값 OR (2^(c의 ASCII - a의 ASCII)) 반환 값

    3. Python에서 K 정렬 목록을 병합하는 프로그램

      어떤 목록이 있다고 가정하고 이 목록은 정렬됩니다. 이 목록을 하나의 목록으로 병합해야 합니다. 이를 해결하기 위해 힙 데이터 구조를 사용합니다. 따라서 목록이 [1,4,5], [1,3,4], [2,6]이면 최종 목록은 [1,1,2,3,4,4,5,6]이 됩니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=목록 크기 힙 :=새 목록 각 인덱스 i와 목록의 행[i]에 대해 다음을 수행합니다. 행이 비어 있지 않으면 힙에 (행[0], i, 0) 삽입 res :=새 목록 힙이 비어 있지 않은 동안 수행 num

    4. Python에서 목록 균형을 맞추기 위해 두 끝에서 필요한 최소 삭제 수를 찾는 프로그램

      0과 1을 포함하는 목록이 있다고 가정하고 목록의 앞이나 뒤에서 값을 제거해야 합니다. 마지막으로, 나머지 목록이 0과 1의 동일한 수를 갖도록 필요한 최소 삭제 횟수를 찾아야 합니다. 따라서 입력이 nums =[1, 1, 1, 0, 0, 1]과 같으면 출력은 2가 됩니다. 첫 번째 것 1과 마지막 것 1을 삭제하여 두 개의 1과 두 개의 0이 있도록 할 수 있기 때문입니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 가장 긴 :=0 d :=키 0에 값 -1을 입력하는 맵 currSum :=0 0~숫자 크기 범위의

    5. Python의 두 목록에서 두 요소 간의 최소 차이를 찾는 프로그램

      두 개의 목록 L1과 L2가 있다고 가정하고 L1의 숫자와 L2의 숫자 사이에서 가장 작은 차이를 찾아야 합니다. 따라서 입력이 L1 =[2, 7, 4], L2 =[16, 10, 11]과 같으면 가장 작은 차이가 10 - 7 =3이므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 목록 L1 정렬 및 목록 L2 정렬 ans :=무한대 i :=0, j :=0 i

    6. Python에서 요소를 최대 3번 업데이트한 후 최대값과 최소값의 최소 차이를 찾는 프로그램

      nums라는 숫자 목록이 있다고 가정하고 이제 요소를 임의의 값으로 업데이트할 수 있는 작업을 고려하십시오. 이러한 작업을 최대 3개까지 수행할 수 있으며 결과적으로 최대값과 최소값 사이의 최소 차이를 숫자로 찾아야 합니다. 따라서 입력이 nums =[2, 3, 4, 5, 6, 7]과 같으면 목록을 [4, 3, 4, 5, 4, 4]로 변경할 수 있으므로 출력은 2가 됩니다. 5 - 3 =2입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자의 크기가 <=4이면 0을 반환 n :=숫자 크기 목록 번호 정렬 0~

    7. Python에서 K 작업을 완료하는 최대 시간을 찾는 프로그램

      각 행에 3개의 값이 있는 작업 행렬이 있다고 가정합니다. 또 다른 값 k가 있습니다. 태스크에서 k개의 행을 선택하고 S라고 불러야 다음 합계가 최소화되고 합계가 다음과 같이 반환됩니다. 최대값:(S[0, 0], S[1, 0], ...S[k - 1, 0]) + 최대 (S[0, 1], S[1, 1], ...S[k - 1, 1]) + 최대 (S[0, 2], S[1, 2], ...S[k - 1, 2]) 다음과 같이 말할 수도 있습니다. 3개의 열 각각은 비용에 기여하고 S에서 해당 열의 최대값을 취하여 계산됩니다. 목록은 0입니다.

    8. Python에서 집합의 최소 및 최대 요소의 합이 k보다 작은 비어 있지 않은 하위 집합을 계산하는 프로그램

      nums라고 하는 숫자 목록과 다른 값 k가 있다고 가정하면 S의 최소값 + S의 최대값 <=k가 되도록 비어 있지 않은 부분 집합 S의 수를 찾아야 합니다. 부분집합은 다중집합이라는 것을 명심해야 합니다. 따라서 값이 아닌 목록의 특정 요소를 참조하기 때문에 하위 집합에 중복 값이 ​​있을 수 있습니다. 따라서 입력이 nums =[2, 2, 5, 6], k =7과 같으면 출력은 6이 됩니다. [2], [2], [2, 2], [2, 5], [2, 5], [2, 2, 5]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − N

    9. Python에서 이진 트리의 가장 빈번한 하위 트리 합계를 찾는 프로그램

      이진 트리가 있다고 가정하고 가장 빈번한 하위 트리 합계를 찾아야 합니다. 노드의 하위 트리 합계는 실제로 노드 자체를 포함하여 노드 아래의 모든 값의 합계입니다. 따라서 입력이 다음과 같으면 그러면 출력은 두 번 발생하므로 3이 됩니다. 한 번은 왼쪽 잎으로, 한 번은 3 - 6 + 6의 합으로 한 번입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − count :=빈 지도 getSum() 함수를 정의합니다. 노드가 필요합니다. 노드가 null이면 0을 반환 mySum :=getSum(노드 왼쪽) + ge

    10. 파이썬에서 모든 사람에게 적어도 친구가 있는지 여부를 확인하는 프로그램

      0에서 n - 1 사이의 숫자로 표현된 n명의 사람이 있다고 가정하고 친구의 튜플 목록도 가지고 있습니다. 여기서 친구[i][0]와 친구[i][1]는 친구입니다. 모든 사람에게 친구가 한 명 이상 있는지 확인해야 합니다. 따라서 입력이 n =3friends =[ [0, 1], [1, 2] ]와 같으면 Person 0은 Person 1의 친구이고 Person 1은 Person 0의 친구이고 출력은 True가 됩니다. 2이고 사람 2는 사람 1의 친구입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 사람 :=0으로 채워

    11. Python에서 끝 위치에 도달하는 데 필요한 최소 홉 수를 찾는 프로그램

      모든 요소가 양수인 하나의 배열 num이 있다고 가정합니다. 우리는 인덱스 0에 있습니다. 여기에서 배열의 각 요소는 해당 위치에서 최대 점프 길이를 나타냅니다. 우리의 목표는 더 적은 수의 점프로 최종 인덱스(n-1, 여기서 n은 숫자의 크기)에 도달하는 것입니다. 따라서 배열이 [2,3,1,1,4]와 같으면 출력은 2가 됩니다. 0에서 인덱스 1로 점프한 다음 마지막 인덱스인 인덱스 4로 점프할 수 있기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 끝 :=0, 점프 :=0, 가장 멀리 :=0 0에서 숫자

    12. Python에서 주어진 행렬의 섬 수를 계산하는 프로그램

      이진 행렬이 있다고 가정하고 행렬에서 섬의 ​​수를 찾아야 합니다. 여기서 1은 육지이고 0은 물입니다. 따라서 섬은 이웃하고 주변이 물로 둘러싸인 1의 그룹입니다. 여기서 우리는 이웃이 대각선이 아닌 수평 또는 수직만 될 수 있다고 생각합니다. 따라서 입력이 다음과 같으면 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 그러면 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − explore() 함수를 정의합니다. 행, 열, 행렬

    13. Python에서 회문 부분 문자열의 수를 계산하는 프로그램

      문자열 s가 있다고 가정하고 s에서 회문 부분 문자열의 수를 찾아야 합니다. 따라서 입력이 s =level과 같으면 회문 하위 문자열이 [l,e,v,e,l,eve이므로 출력은 7이 됩니다. ,레벨] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − check_palindrome() 함수를 정의합니다. 이것은 문자열, 왼쪽, 오른쪽이 필요합니다. ans :=0 =0이고 오른쪽

    14. Python에서 모든 회문 부분 문자열의 길이가 홀수인지 여부를 확인하는 프로그램

      문자열 s가 있다고 가정하고 모든 회문 하위 문자열의 길이가 홀수인지 여부를 확인해야 합니다. 따라서 입력이 s =level과 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 범위 1에서 s의 크기에 있는 i에 대해 다음을 수행합니다. s[i]가 s[i - 1]과 같으면 거짓을 반환 참 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예 class Solution:    def solve(self, s):       for i

    15. 파이썬에서 현재 인덱스를 제외한 모든 요소의 곱 목록을 찾는 프로그램

      nums라는 숫자 목록이 있다고 가정하고 새로 생성된 목록의 인덱스 i에 있는 각 요소가 인덱스 i에 있는 숫자를 제외한 원래 목록의 모든 숫자의 곱이 되도록 새 목록을 찾아야 합니다. 여기서 나눗셈을 사용하지 않고 풀어야 합니다. 따라서 입력이 nums =[2, 3, 4, 5, 6]과 같으면 출력은 [360, 240, 180, 144, 120]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자의 크기가 1보다 작으면 반환 번호 l :=숫자 크기 left :=크기가 l인 목록이고 처음에는 모든 값이 nul

    16. Python에서 두 문자열이 0 또는 1 편집 거리에 있는지 확인하는 프로그램

      두 개의 문자열 S와 T가 있다고 가정하고 편집 거리가 1인지 0인지 확인해야 합니다. 편집 작업은 문자 삭제, 문자 추가 또는 문자를 다른 문자로 바꾸는 것으로 정의할 수 있습니다. 따라서 입력이 S =hello, T =hallo와 같으면 이 두 문자열의 편집 거리가 1이므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=S의 크기, n :=T의 크기 i :=0, j :=0 카운트:=0 1, 다음 거짓을 반환 i

    17. Python에서 목록을 하나의 정수로 줄이는 최소 비용을 찾는 프로그램

      nums라는 숫자 목록이 있다고 가정합니다. 임의의 두 숫자를 제거하고 끝에 합을 추가하여 num의 길이를 줄일 수 있습니다. 이 작업을 수행하는 비용은 우리가 제거한 두 정수의 합입니다. 숫자를 하나의 정수로 줄이는 데 필요한 최소 총 비용을 찾아야 합니다. 따라서 입력이 nums =[2, 3, 4, 5, 6]과 같으면 2와 3을 취한 다음 [4, 5, 6, 5]를 얻기 위해 제거하므로 출력은 45가 됩니다. 4와 5를 취한 다음 제거하여 [6, 5, 9]를 얻은 다음 6과 5를 취한 다음 제거하고 [9, 11]을 얻고 마지막으

    18. Python에서 간격 목록에 삽입할 수 있는 최소 하나의 간격을 찾는 프로그램

      각 행이 [시작, 끝](포함) 간격을 나타내는 간격이라고 하는 2D 숫자 목록이 있다고 가정합니다. 구간 [a, b](a

    19. Python에서 동일한 연속 요소를 하위 목록에 포장하는 프로그램

      숫자 num의 목록이 있다고 가정하고 동일한 값의 연속 요소를 하위 목록으로 묶습니다. 목록에는 한 번만 발생하므로 자체 하위 목록에 있어야 한다는 점을 명심해야 합니다. 따라서 입력이 nums =[5, 5, 2, 7, 7, 7, 2, 2, 2, 2]와 같으면 출력은 [[5, 5], [2], [7, 7, 7], [2, 2, 2, 2]] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − nums가 비어 있으면 새 목록 반환 result :=nums[0]을 포함하는 다른 목록이 있는 목록 j :=0 범위 1에서 숫자 크기까지

    20. Python에서 floodfill 작업을 사용하여 색상을 채우는 프로그램

      색상을 문자열 r, g 및 b로 포함하는 2D 그리드가 있다고 가정합니다. 색상 타겟으로 r행, c열에서 플러드필 작업을 수행해야 합니다. 우리가 알고 있듯이 Floodfill 작업은 grid[r,c](up/right/down/left)에 연결되고 grid[r,c]와 같은 색상을 target과 같은 색상으로 모두 교체해야 합니다. 따라서 입력이 다음과 같으면 R R R R 지 나 지 나 나 그러면 출력은 G 지 지 지 지 나 지 나 나 grid[0,0]에 연결된 빨간색 셀이 녹색(g)으로 대체되기 때문입니다.

    Total 8994 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:179/450  20-컴퓨터/Page Goto:1 173 174 175 176 177 178 179 180 181 182 183 184 185