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

    1. Python의 역 연결 목록

      연결 목록이 있다고 가정하고 이를 반대로 해야 합니다. 따라서 목록이 1 → 3 → 5 → 7과 같으면 새 반전 목록은 7 → 5 → 3 → 1이 됩니다. 이를 해결하기 위해 우리는 다음과 같은 접근 방식을 따를 것입니다 - (머리, 뒤로) 풀기 위해 목록 반전을 재귀적으로 수행하는 하나의 절차 정의 머리가 없으면 머리를 반환 temp :=head.next head.next :=뒤로 뒤 =머리 temp가 비어 있으면 head를 반환합니다. 머리 =온도 반환 해결(머리, 뒤로) 예시 더 나은 이해를 위해 다음 구현을 살펴보겠습

    2. Python에 중복 포함

      숫자 목록이 있다고 가정합니다. 목록에 중복 요소가 있는지 여부를 확인해야 합니다. 따라서 목록이 [1,5,6,2,1,3]과 같으면 1이 두 개 있으므로 1을 반환하지만 목록이 [1,2,3,4]이면 다음과 같이 됩니다. 중복이 없으므로 false입니다. 이 문제를 해결하기 위해 우리는 이 접근 방식을 따를 것입니다 - 세트 데이터 구조는 고유한 데이터만 보유한다는 것을 알고 있습니다. 그러나 목록은 중복된 내용을 접을 수 있습니다. 따라서 리스트를 집합으로 변환하면 중복된 요소가 있으면 크기가 줄어들고 길이를 일치시키면 이 문제를

    3. Python에서 이진 트리 반전

      이진 트리가 있다고 가정합니다. 우리의 임무는 역 이진 트리를 만드는 것입니다. 트리가 아래와 같다면 - 거꾸로 된 나무는 다음과 같습니다. 이를 해결하기 위해 재귀적 접근 방식을 사용합니다. 루트가 null이면 반환 왼쪽 및 오른쪽 포인터 교체 왼쪽 하위 트리와 오른쪽 하위 트리를 재귀적으로 해결 예제(파이썬) 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − class TreeNode:    def __init__(self, data, left = None, right = None): &nb

    4. Python의 연결 목록에서 노드 삭제

      요소가 거의 없는 연결 목록이 있다고 가정합니다. 우리의 임무는 목록에서 주어진 노드를 삭제하는 함수를 작성하는 것입니다. 따라서 목록이 1 → 3 → 5 → 7 → 9와 같을 경우 3을 삭제하면 1 → 5 → 7 → 9가 됩니다. 삭제할 노드를 가리키는 포인터 노드가 있다고 가정하고 노드를 삭제하려면 이러한 작업을 수행해야 합니다. - node.val =node.next.val node.next =node.next.next 예제(파이썬) 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − class ListNode: &n

    5. Python의 유효한 아나그램

      애너그램은 기본적으로 주어진 문자열이나 패턴의 모든 순열입니다. 이 패턴 검색 알고리즘은 약간 다릅니다. 이 경우 정확한 패턴만 검색되는 것이 아니라, 텍스트에서 주어진 패턴의 가능한 모든 배열을 검색합니다. 따라서 입력이 ANAGRAM 및 NAAGARM이면 아나그램이지만 cat 및 fat는 아나그램이 아닙니다. 이를 해결하기 위해 문자열을 문자 목록으로 변환한 다음 정렬합니다. 두 개의 정렬된 목록이 같으면 아나그램입니다. 예제(파이썬) 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − class Solution(objec

    6. 파이썬에서 누락된 숫자

      0에서 n까지의 숫자 목록이 있다고 가정합니다. 누락된 숫자가 하나 있습니다. 효율적인 접근 방식으로 누락된 숫자를 찾아야 합니다. 따라서 A =[0, 1, 2, 3, 4, 5, 7, 8, 9]인 경우 누락된 숫자는 6입니다. 이 문제를 해결하기 위해 바이너리 검색 방식을 사용할 것입니다. 오름차순으로 목록 정렬 높은 =A의 길이, 낮은 =0 낮은 동안 <높은, do 중간 =낮음 + (높음 – 낮음)/2 mid 높음 =중간 그렇지 않으면 낮음 =중간 + 1 낮은 수익 예 더 나은 이해를 위해 다음 구현을 살펴보겠

    7. Python에서 0 이동

      몇 가지 숫자를 저장할 배열이 있다고 가정합니다. 0이 아닌 값과 0 값이 있습니다. 따라서 다른 숫자의 상대적 순서를 변경하지 않고 모든 0을 오른쪽으로 보내야 합니다. 따라서 배열이 [0, 1, 5, 0, 3, 8, 0, 0, 9]와 같으면 최종 배열은 [1, 5, 3, 8, 9, 0, 0, 0, 0 ] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 인덱스 =0이라고 가정 i =0에서 A의 길이까지 A[i] !=0이면 A[인덱스] :=A[i] 인덱스 :=인덱스 + 1 for i =A 길이에 대한 인덱스 A[i]

    8. 파이썬에서 3의 거듭제곱

      숫자 n이 있다고 가정합니다. 숫자가 3의 거듭제곱인지 아닌지 확인해야 합니다. 따라서 숫자가 n =27, 즉 3의 거듭제곱인 경우 결과는 참이 되고 n =15이면 거짓이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 이 문제를 해결하기 위해 로그를 사용할 것입니다. [log10(n) / log10(3)] mod 1 ==0이면 3의 거듭제곱이 되고, 그렇지 않으면 그렇지 않습니다. 예 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − class Solution(object):    def

    9. 파이썬의 역 문자열

      문자 배열이 있다고 가정합니다. 추가 공간을 사용하지 않고 문자열을 반전해야 합니다. 따라서 문자열이 [H, E, L, L, O]와 같으면 출력은 [O, L, L, E, ㅎ] 이 문제를 해결하기 위해 다음 단계를 따릅니다. 두 포인터를 사용하여 시작 =0 및 끝 =문자열 길이 – 1 첫 글자와 마지막 글자 바꾸기 시작 1 증가 및 끝 1 감소 예시 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − class Solution(object):    def reverseString(self, s): &nbs

    10. 파이썬에서 두 정수의 합

      두 개의 정수와 b가 있다고 가정합니다. 우리의 임무는 이 두 정수의 합을 찾는 것입니다. 한 가지 제약 조건은 + 또는 -와 같은 연산자를 사용할 수 없다는 것입니다. 따라서 a =5이고 b =7이면 결과는 12가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 해결을 위해 비트 논리 연산자를 사용합니다. b =0이면 a를 반환합니다. 그렇지 않으면 결과를 한 번 왼쪽으로 이동한 후 XOR b, a AND b를 제공하여 sum 함수를 재귀적으로 사용 예제(파이썬) 더 나은 이해를 위해 다음 구현을 살펴보겠습니다

    11. Python에서 문자열의 첫 번째 고유 문자

      문자열이 있고 문자열에서 첫 번째 고유 문자를 찾아야 한다고 가정합니다. 따라서 문자열이 people과 같으면 첫 번째 문자가 1인 경우는 o입니다. 따라서 인덱스가 반환됩니다. 여기에서는 2입니다. 해당 문자가 없으면 -1을 반환합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 주파수 맵 생성 문자열의 각 문자 c에 대해 do c가 주파수에 없으면 주파수에 삽입하고 값 1을 입력 그렇지 않으면 빈도 수를 늘리십시오. 주파수 맵을 스캔하여 특정 키의 값이 1이면 해당 키를 반환하고 그렇지 않으면 -1을 반환

    12. 파이썬의 피즈 버즈

      숫자 n이 있다고 가정합니다. 1부터 n까지의 모든 숫자의 문자열 표현을 표시해야 하지만 몇 가지 제약이 있습니다. 숫자가 3의 배수이면 숫자 대신 Fizz를 쓰세요. 숫자가 5의 배수이면 숫자 대신 Buzz라고 쓰세요. 숫자가 3과 5로 나누어 떨어지는 경우 숫자 대신 FizzBuzz를 쓰세요. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 1부터 n까지의 모든 숫자에 대해, 숫자가 3과 5로 나누어 떨어지는 경우 FizzBuzz를 출력합니다. 그렇지 않고 숫자가 3으로 나누어 떨어지는 경우 Fizz를 인쇄하십시오.

    13. 파이썬의 해밍 거리

      두 개의 정수가 있다고 가정해 보겠습니다. 우리는 그것들의 해밍 거리를 찾아야 합니다. 해밍 거리는 두 숫자 사이의 비트 수가 다른 비트 수입니다. 따라서 숫자가 7과 15이면 이진수로 0111과 1111이고 여기서 MSb가 다르므로 해밍 거리는 1입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − i =31에서 0까지 b1 =x의 오른쪽 이동(i AND 1회) b2 =y의 오른쪽 이동(i AND 1회) b1 =b2이면 답 :=답 + 0, 그렇지 않으면 답 :=답 + 1 반환 응답 예 더 나은 이해를 위해 다음

    14. Python의 연결 목록 주기

      연결 리스트가 있다고 가정하고 순환이 있는지 없는지 확인해야 합니다. 주어진 연결 목록에서 주기를 나타내기 위해 pos라는 정수 포인터 하나를 사용합니다. 이 위치는 연결 리스트에서 꼬리가 연결된 위치를 나타냅니다. 따라서 pos가 -1이면 연결 목록에 사이클이 없습니다. 예를 들어 연결 리스트는 [5, 3, 2, 0, -4, 7], pos =1과 같으므로 주기가 있고 두 번째 노드에 꼬리가 연결됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 한 세트를 해시 세트 H로 사용 head가 null이 아닌 동안 - hea

    15. Python의 최소 스택

      여기에서 우리는 푸시, 팝, 탑을 수행하고 최소 요소를 일정한 시간에 검색할 수 있는 스택을 만드는 방법을 볼 것입니다. 따라서 함수는 push(x), pop(), top() 및 getMin()이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 최소 요소로 스택을 무한대로 초기화 푸시 작업용 push(x) x

    16. Python에서 두 연결 목록의 교차점

      두 개의 연결 목록 A와 B가 있다고 가정하고 이러한 연결 목록에는 요소가 거의 없습니다. 교차점의 참조를 반환해야 합니다. 입력은 IntersectionVal =8, A =[4,1,8,4,5], B =[5,0,1,8,4,5], skipA =2 및 skipB =3이며, 이들은 건너뛰는 데 사용됩니다. A의 2개 요소와 B의 3개 요소를 건너뜁니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − d라는 지도 정의 headA가 null이 아닌 동안 d[headA] :=1 headA :=headA의 다음 headB가 null

    17. C++의 비트 반전

      하나의 부호 없는 숫자 x가 있고 이의 이진 표현(32비트 부호 없는 정수)을 쉽게 찾을 수 있다고 가정합니다. 우리의 임무는 비트를 뒤집는 것입니다. 따라서 이진 표현이 0000000000000000000001001110100과 같으면 반전된 비트는 0010111001000000000000000000000이 됩니다. 따라서 비트를 반전한 후 실제 숫자를 반환해야 합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n이 주어진 숫자라고 가정합니다. 답변 :=0 i:=31에서 0: answer :=OR(n AND i)에

    18. 파이썬의 행복한 숫자

      여기서 우리는 숫자 n이 하나의 행복한 숫자인지 아닌지를 감지하는 방법을 볼 것입니다. 따라서 행복한 숫자는 숫자입니다. 여기서 양의 정수로 시작하면 숫자가 해당 숫자의 제곱의 합으로 바뀝니다. 이 프로세스는 1이 될 때까지 반복됩니다. 그렇지 않으면 순환에서 끝없이 반복됩니다. 그 숫자들은 1이 찾았을 때 행복한 숫자가 될 것입니다. 숫자가 19라고 가정하면 숫자가 행복한 숫자이므로 출력이 참이 됩니다. 19에서 볼 수 있듯이 12 + 92 =82 82 + 22 =68 62 + 82 =100 12 + 02 + 02 =1

    19. Python에서 이진 검색 트리의 가장 낮은 공통 조상

      이진 검색 트리가 있다고 가정합니다. 주어진 두 노드의 가장 낮은 공통 조상 노드를 찾아야 합니다. 두 노드 p와 q의 LCA는 실제로 p와 q가 모두 종속된 트리에서 가장 낮은 노드입니다. 따라서 이진 트리가 [6, 2, 8, 0, 4, 7, 9, null, null, 3, 5]와 같은 경우. 나무는 다음과 같을 것입니다 - 여기서 2와 8의 LCA는 6입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 트리가 비어 있으면 null을 반환합니다. p와 q가 모두 루트와 같으면 루트를 반환합니다. left :=p와

    20. Python의 첫 번째 잘못된 버전

      회사에서 한 제품 관리자가 신제품을 개발하는 팀을 이끌고 있다고 가정합니다. 최신 버전이 품질 검사에 실패했다고 가정합니다. 각 버전은 이전 버전을 기반으로 개발되었기 때문에 나쁜 버전 이후의 모든 버전은 나쁜 버전이 됩니다. 따라서 n개의 요소 [1, 2, … n]를 가진 배열 A가 있고 이 배열에서 첫 번째 잘못된 버전을 찾아야 합니다. isBadVersion(version_id) 함수가 있다고 가정하면 버전이 나쁜지 여부를 반환합니다. 예를 들어, n =5이고 버전 =4가 첫 번째 잘못된 버전이라고 가정합니다. 따라서 isB

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