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

    1. Python에서 두 개의 정렬된 목록 병합

      두 개의 정렬된 목록 A와 B가 있다고 가정합니다. 우리는 그것들을 병합하고 하나의 정렬된 목록 C를 형성해야 합니다. 목록의 크기는 다를 수 있습니다. 예를 들어 A =[1,2,4,7]이고 B =[1,3,4,5,6,8]이라고 가정하면 병합된 목록 C는 [1,1,2,3,4, 4,5,6,7,8] 우리는 재귀를 사용하여 이것을 해결할 것입니다. 따라서 기능은 아래와 같이 작동합니다 - merge() 함수의 목록 A와 B를 가정합니다. A가 비어 있으면 B를 반환하고 B가 비어 있으면 A를 반환합니다. A의 값 <=B의 값이면 A.

    2. Python의 정렬된 배열에서 중복 제거

      정렬된 목록 A가 있다고 가정합니다. 모든 중복 항목을 제거한 후 배열의 길이를 반환해야 합니다. 이것을 O(1) 추가 공간에서 수행해야 합니다. 따라서 우리는 제자리에서 작업을 수행해야 합니다. 예를 들어 A =[1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 6]이라고 가정하면 6개의 개별 요소가 있으므로 출력은 6이 됩니다. 이 문제를 해결하려면 다음 단계를 따르십시오 - 목록이 비어 있으면 0 반환 그렇지 않으면 처음에 prev =A의 첫 번째 요소를 사용하고 length =0을 정의합니다. i

    3. Python에서 strStr() 구현

      두 개의 문자열 str과 sub_str이 있다고 가정합니다. str에서 sub_str의 첫 번째 발생을 찾아야 합니다. 따라서 문자열 str이 helloworld이고 하위 문자열이 lo이면 결과는 3이 됩니다. 이것은 C의 strstr() 함수를 사용하여 수행할 수 있습니다. 우리는 C의 strstr()과 유사한 다른 함수를 설계해야 합니다. 이 문제를 해결하려면 다음 단계를 따르십시오 - i :=0, j :=0, m :=sub_str의 길이 및 n :=str의 길이 m =0이면 0을 반환 i

    4. 파이썬에서 계산하고 말하기

      여기에서 Count and Say 시퀀스를 볼 수 있습니다. 이것은 몇 개의 항이 아래와 같은 시퀀스입니다 - 1 11 21 1211 111221 문자열은 다음과 같이 읽힙니다. 1(하나) 11 (One 1) 그래서 앞의 1을 읽고 One 1이라고 말하세요 21 (Two 1) 그래서 앞의 11을 읽고 Two 1이라고 말하세요 1211 (One 2 One 1) 그래서 앞의 21을 읽고 One 2 one 1이라고 말하세요. 111221 (하나 1 하나 2 둘 1) 그래서 앞의 1211을 읽고 하나 1 하나 2 둘 1이라고 말하세

    5. Python의 최대 하위 배열

      정수 배열 A가 있다고 가정합니다. 길이가 최소 1이고 합이 가장 큰 연속 하위 배열을 찾고 합도 반환해야 합니다. 따라서 배열 A가 A =[-2,1,-3,4,-1,2,1,-5,4]와 같으면 합계는 6이 됩니다. 그리고 하위 배열은 [4, -1 , 2, 1] 이 문제를 해결하기 위해 동적 프로그래밍 방식을 사용하려고 합니다. A의 크기와 같은 배열 dp를 정의하고 0으로 채웁니다. dp[0] :=A[0] i =1의 경우 A – 1의 크기 dp[i] :=dp[i – 1] + A[i] 및 A[i]의 최대값 최대 dp를 반환

    6. 파이썬의 플러스 원

      정수 배열이 있다고 가정합니다. 예를 들어 A. A는 n개의 요소를 보유하고 음수가 아닙니다. 전체 배열 A는 하나의 큰 수를 나타냅니다. 따라서 A =[5, 3, 2, 4]가 주어지면 숫자 5324를 나타냅니다. 해당 배열 A를 가져와서 숫자를 1만큼 증가시키고 주어진 배열과 같은 숫자를 다시 반환해야 합니다. 따라서 A를 증가시킨 후에는 [5, 3, 2, 5]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. 배열을 가져와 각 문자를 문자열에 추가하여 문자열로 만듭니다. 문자열을 정수로 변환한 다음 숫자를 1씩 증가

    7. Python의 Sqrt(x)

      숫자 x가 있고 x가 음수가 아닌 숫자라고 가정합니다. 라이브러리 함수를 사용하지 않고 x의 제곱근을 찾아야 합니다. 그래서 우리는 sqrt(x)를 평가하기 위해 우리 자신의 함수를 만들어야 합니다. 이 함수에서는 출력의 10진수가 잘립니다. x의 값이 4라고 가정하고 x가 8이면 결과도 2가 되고 sqrt(8)이 2.82842이므로 결과도 2가 됩니다. 하지만 정수 부분만 사용합니다. 이 문제를 해결하려면 다음 단계를 따르십시오 - l =1 및 h =x + 1, 답변 =0 초기화 l, do 중간 =(h + l)/2 mid*

    8. Python에서 정렬된 배열 병합

      정렬된 배열 A와 B가 있다고 가정합니다. 그것들을 병합하고 정렬된 배열 C를 하나만 형성해야 합니다. 목록의 크기는 다를 수 있습니다. 예를 들어 A =[1,2,4,7]이고 B =[1,3,4,5,6,8]이라고 가정하면 병합된 목록 C는 [1,1,2,3,4, 4,5,6,7,8] 이 문제를 해결하려면 다음 단계를 따르십시오 - i :=0, j :=0 및 end :=A – 1의 길이 정의 =0이고 A[종료]가 아님, 끝 :=끝 – 1 while j

    9. Python의 대칭 트리

      하나의 이진 트리가 있다고 가정합니다. 트리가 대칭 트리인지 여부를 확인해야 합니다. 나무를 거울상으로 찍을 때 같은 나무라면 대칭이라고 합니다. 이 두 나무에서 첫 번째 나무는 대칭이지만 두 번째 나무는 그렇지 않습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. 다음 단계를 재귀적으로 호출합니다. 함수는 해결됩니다(루트, 루트) node1과 node2가 비어 있으면 true를 반환합니다. node1 또는 node2가 비어 있으면 false를 반환합니다. node1.val =node2.val이고 solve(node1.

    10. Python에서 이진 트리의 최대 깊이

      바이너리 트리가 하나 있다고 가정합니다. 우리는 그 나무의 최대 깊이를 찾아야 합니다. 트리의 최대 깊이는 가장 긴 경로를 사용하여 루트에서 잎에 도달하기 위해 탐색되는 최대 노드 수입니다. 트리가 아래와 같다고 가정합니다. 여기서 깊이는 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. 여기에서는 재귀적 접근 방식을 사용합니다. 방법은 solve(root, depth =0)입니다. 루트가 비어 있으면 깊이를 반환합니다. 그렇지 않으면 solve(left, depth + 1) 및 solve(left, depth

    11. Python에서 정렬된 배열을 이진 검색 트리로 변환

      하나의 정렬된 배열 A가 있다고 가정합니다. 하나의 높이 균형 이진 검색을 생성해야 합니다. 이 문제에서 높이 균형 이진 트리는 실제로 모든 노드의 두 하위 트리의 깊이가 1 이상 차이가 나지 않는 이진 트리입니다. 배열이 [-10, -3, 0, 5, 9 ]. 따라서 가능한 출력은 다음과 같습니다. [0, -3, 9, -10, null, 5] 이 문제를 해결하기 위해 다음 단계를 따릅니다. A가 비어 있으면 Null을 반환합니다. 중간 요소를 찾아 루트로 설정 배열을 중간 요소의 왼쪽 부분과 중간 요소의 오른쪽 부분인 두 개

    12. Python의 경로 합

      트리 하나와 합이 있다고 가정합니다. 우리는 그 경로를 따를 경우 주어진 합과 일치하는 합을 얻을 수 있는 하나의 경로를 찾아야 합니다. 트리가 [0,-3,9,-10, null,5]이고 합이 14라고 가정하면 경로는 0 → 9 → 5입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. 루트가 null이면 False를 반환합니다. 왼쪽 및 오른쪽 하위 트리가 비어 있으면 sum – root.val =0일 때 true를 반환하고, 그렇지 않으면 false return solve(root.left, sum – r

    13. 파이썬에서 주식을 사고 팔기 가장 좋은 시기

      배열 A가 있다고 가정합니다. 여기서 A[i]는 i일에 주어진 주식의 가격을 나타냅니다. 우리는 최대의 이익을 찾아야 합니다. 우리는 최대 하나의 거래를 완료할 수 있습니다. (거래는 주식을 사고 파는 것을 의미합니다). 그러나 우리는 동시에 여러 거래에 참여할 수 없다는 점을 명심해야 합니다. 그래서 우리는 새 주식을 사기 전에 주식을 팔아야 합니다. 배열이 A =[7, 1, 5, 3, 6, 4]와 같다고 가정하면 결과는 5가 됩니다. 보시다시피 2일차(인덱스 1)에 구매하면 다음과 같이 1이 됩니다. 구매 가격. 그러면 5일차

    14. Python에서 주식을 사고 팔기 가장 좋은시기 II

      배열 A가 있다고 가정합니다. 여기서 A[i]는 i일에 주어진 주식의 가격을 나타냅니다. 우리는 최대의 이익을 찾아야 합니다. 원하는 만큼 거래를 완료할 수 있습니다. (거래는 주식을 사고 파는 것을 의미합니다). 그러나 우리는 동시에 여러 거래에 참여할 수 없다는 점을 명심해야 합니다. 그래서 우리는 새 주식을 사기 전에 주식을 팔아야 합니다. 배열이 A =[7, 1, 5, 3, 6, 4]와 같다고 가정하면 결과는 7이 됩니다. 보시다시피, 2일차(인덱스 1)에 구매하면 다음과 같이 1이 걸립니다. 구매 가격. 그런 다음 3일에

    15. Python의 유효한 회문

      영숫자 값과 기호가 포함된 문자열이 있다고 가정합니다. 소문자와 대문자도 있습니다. 소문자(대문자는 소문자로 변환)만 고려하여 문자열이 회문을 형성하는지 확인해야 하며, 쉼표와 같은 다른 기호, 공백은 무시됩니다. 문자열이 A Man, Plan, a Canal:Panama와 같다고 가정하고 이러한 규칙을 고려하면 amanaplanacalpanama가 됩니다. 회문입니다. 이 문제를 해결하려면 다음 단계를 따르십시오 - x = 정의 str의 각 문자 c 읽기 - c가 소문자 또는 숫자이면 x에 c를 추가합니다. 그렇지 않으면 c

    16. 파이썬의 단일 숫자

      배열 A가 있다고 가정합니다. 이 배열에는 두 번 발생하는 많은 숫자가 있습니다. 한 번에 하나의 요소만 찾을 수 있습니다. 해당 배열에서 해당 요소를 찾아야 합니다. A =[1, 1, 5, 3, 2, 5, 2]라고 가정하면 출력은 3이 됩니다. 각 숫자가 두 번 있으므로 XOR을 수행하여 해당 요소를 제거할 수 있습니다. y XOR y =0을 알고 있기 때문에 이 문제를 해결하기 위해 다음 단계를 따릅니다. 하나의 변수 res =0 사용 배열 A의 각 요소 e에 대해 res =res XOR e를 수행합니다. 반환 결과 예

    17. Python에서 배열 회전

      배열 A가 있다고 가정합니다. 오른쪽으로 k 단계 회전해야 합니다. 따라서 배열이 A =[5, 7, 3, 6, 8, 1, 5, 4]이고 k =3이면 출력은 [1,5,4,5,7,3,6, 8]. 단계는 다음과 같습니다. [4,5,7,3,6,8,1,5] [5,4,5,7,3,6,8,1] [1,5,4,5,7,3,6,8] 이 문제를 해결하기 위해 다음 단계를 따릅니다. n은 배열의 크기입니다. k =k 모드 n A =n – k에서 끝까지 A의 부분배열 + 0에서 n – k – 1까지의 A 부분배열 더 나은 이해를 위해 다음 구현을

    18. 파이썬의 1비트 수

      부호 없는 숫자 n이 있다고 가정합니다. 이 수의 이진 표현에서 1의 수를 찾아야 합니다. 이것을 해밍 웨이트(Hamming Weight)라고도 합니다. 따라서 숫자가 000000101101과 같으면 결과는 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 사용합니다 - 숫자를 가져와서 이진 문자열로 변환 세트 수 =0 이진 문자열의 각 문자 e에 대해 문자가 1이면 1씩 증가 반환 횟수 예 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − class Solution(object):    def h

    19. Python의 집 강도

      도시가 있고 도시의 각 집에 일정 금액이 있다고 가정합니다. 한 강도가 하룻밤 사이에 돈을 강탈하려고 합니다. 이 도시에는 하나의 보안 시스템이 있습니다. 마치 같은 밤에 두 집이 연속으로 파손된 것처럼 자동으로 경찰에 전화를 겁니다. 그래서 강도가 최대로 강도할 수 있는 금액을 찾아야 합니다. 하나의 배열이 제공되며 인덱스 i에서 A[i]는 i번째 하우스에 존재하는 양입니다. 배열이 A =[2, 7, 10, 3, 1]과 같다고 가정하면 결과는 13이 됩니다. 최대값은 house1(값 2), house3(값 10) 및 house5

    20. 파이썬에서 소수 세기

      제한이 있다고 가정합니다. n. 우리는 2에서 n 사이에 존재하는 소수의 수를 세어야 합니다. 따라서 n =10이면 결과는 4가 됩니다. 10 앞에 4개의 소수가 있으므로 2, 3, 5, 7입니다. 이를 해결하기 위해 우리는 다음과 같은 접근 방식을 따를 것입니다 - 카운트 =0 크기가 n + 1인 배열 소수 =하나를 가져와 False로 채웁니다. i =0에서 n에 대해 프라임[i] =거짓이면 1씩 증가 j =2로 설정 j * i

    Total 8994 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:118/450  20-컴퓨터/Page Goto:1 112 113 114 115 116 117 118 119 120 121 122 123 124