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

    1. Python에서 모든 셀에 필요한 작업 수를 동일한 색상으로 계산하는 프로그램

      2차원 행렬 M이 있다고 가정합니다. 이제 각 셀에 색상을 나타내는 값이 포함되고 동일한 색상을 가진 인접 셀(위, 아래, 왼쪽, 오른쪽)이 함께 그룹화됩니다. 이제 한 그룹의 모든 셀을 특정 색상으로 설정하는 작업을 고려하십시오. 그런 다음 마지막으로 모든 셀이 동일한 색상을 갖도록 필요한 최소 작업 수를 찾습니다. 그리고 색상이 변경되면 다시 설정할 수 없습니다. 따라서 입력이 다음과 같으면 2 2 2 2 1 1 1 1 2 3 2 1 그러면 출력은 2가 됩니다. 2가 있는

    2. Python에서 대상을 만들기 위해 열을 뒤집는 최소 작업 수를 계산하는 프로그램

      행과 열의 수가 같은 행렬 M과 대상 행렬 T가 있다고 가정합니다. 이제 모든 1이 0으로 변환되고 모든 0이 1로 변환되도록 행렬의 특정 열을 뒤집는 작업을 가정합니다. 따라서 행렬 행을 무료로 재정렬할 수 있다면 M을 T로 바꾸는 데 필요한 최소 연산 수를 찾으십시오. 해가 없으면 -1을 반환합니다. 따라서 입력이 M =와 같은 경우 0 0 1 0 1 1 T = 0 1 1 0 1 1 그러면 먼저 행을 다음과 같이 재정렬하므로 출력은 1이 됩니다. 0 0

    3. Python에서 바이너리 트리가 완전한지 확인하는 프로그램

      이진 트리가 있다고 가정합니다. 이것이 완전한 이진 트리인지 여부를 확인해야 합니다. 완전한 이진 트리에서 알 수 있듯이 레벨은 마지막 가능성을 제외하고 노드로 채워지며 마지막 레벨의 모든 노드는 가능한 한 가장 왼쪽에 있습니다. 따라서 입력이 다음과 같으면 그러면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따르겠습니다- q :=이중 종료 큐 q의 끝에 루트 삽입 플래그 :=거짓 q가 비어 있지 않은 동안 수행 temp :=q 왼쪽에서 삭제 후 요소 temp가 null이

    4. Python으로 모든 도시의 모든 도시를 방문할 수 있는지 확인하는 프로그램

      [0, n) 범위의 숫자로 표시되는 n개의 도시가 있고 한 도시를 다른 도시로 연결하는 일방통행 도로 목록도 있다고 가정합니다. 어느 도시에서나 갈 수 있는지 확인해야 합니다. 따라서 입력이 n =3과 같으면 도로 =[[0, 1],[0, 2],[1,0],[1,2],[2,0],[2,1]] , 0에서 1로, 1에서 0으로 갈 수 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따르겠습니다- dfs() 함수를 정의합니다. 이렇게 하면 i, 방문, g가 소요됩니다. 내가 방문한 것으로 표시 g[

    5. 문자열을 확인하는 프로그램에는 Python에서 연속 내림차순 문자열이 포함되어 있는지 여부

      일부 숫자가 포함된 문자열 s가 있다고 가정하고 연속적으로 내림차순 정수를 포함하는지 여부를 확인해야 합니다. 따라서 입력이 s =99989796과 같으면 이 문자열이 [99,98,97,96]을 유지하므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따르겠습니다- helper() 함수를 정의합니다. 이것은 pos가 필요합니다. prev_num pos가 n과 같으면 참을 반환 num_digits :=prev_num의 자릿수 num_digits - 1에서 num_digits 범위의

    6. Python에서 고유한 배열의 연속 간격을 찾는 프로그램

      nums라는 고유 숫자 목록이 있다고 가정합니다. 우리는 각 목록이 숫자로 연속적인 숫자를 요약하는 포함 간격을 나타내는 정렬된 2D 숫자 행렬을 찾아야 합니다. 따라서 입력이 nums =[10, 11, 12, 15, 16, 17, 28, 30]과 같으면 출력은 [[10, 12], [15, 17], [28, 28]이 됩니다. , [30, 30]]과 같이 [10~12], [15~17]이 인접하고, 28~30이 존재하고, [28~28], [30~30]으로 표현된다. 이 문제를 해결하기 위해 다음 단계를 따르겠습니다- 목록 번호

    7. Python에서 고유한 이진 검색 트리의 수를 세는 프로그램은 0에서 n까지의 값으로 구성할 수 있습니다.

      하나의 숫자 n이 있다고 가정하고 [0, n)의 숫자로 생성할 수 있는 고유한 BST의 수를 찾아야 합니다. 대답이 매우 큰 경우 결과는 10^9+7입니다. 따라서 입력이 n =3과 같으면 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자:=1 명:=n + 1 1~n 범위의 i에 대해 숫자 :=숫자 * n + 나 숫자 :=숫자 모드 m denom :=denom * i denom :=denom 모드 m 숫자 :=숫자 * (denom^(m-2)) mod m 반환 번호 모드 m 이해를 돕기

    8. Python에서 괄호의 균형이 맞는지 확인하는 프로그램

      괄호 ( 및 )로 구성된 문자열이 있다고 가정합니다. 괄호의 균형이 맞는지 확인해야 합니다. 따라서 입력이 s =(()())(())와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − num_open :=0 s의 각 문자 c에 대해 다음을 수행합니다. c가 )와 같으면 num_open <0이면 num_open :=num_open - 1 그렇지 않으면 거짓을 반환 그렇지 않으면 num_open :=num_open + 1 num_open의 역반환 이해를 돕기 위해 다음 구

    9. Python에서 서로 다른 대괄호가 균형을 이루고 올바른 형식인지 확인하는 프로그램

      대괄호 문자열(둥근, 둥근 모양, 정사각형)이 있다고 가정하고 대괄호가 균형을 이루는지(정형화된) 여부를 확인해야 합니다. 따라서 입력이 s =([()()]{[]})()와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 스택 :=새 목록 d :=키-값 쌍이 있는 해시 맵(}, {),(),(), (], [) s의 각 문자 c에 대해 다음을 수행합니다. c가 }]) 중 하나이면 스택이 비어 있거나 스택의 맨 위가 d[c]와 같지 않으면 거짓을 반환 스택에서 팝 그렇지 않으면 c를 스택

    10. Python에서 범위에 없는 모든 노드를 BST에서 제거하는 프로그램

      낮음과 높음의 두 값인 BST가 있다고 가정하면 [낮음, 높음](포함) 사이가 아닌 모든 노드를 삭제해야 합니다. 따라서 입력이 다음과 같으면 낮음 =7 높음 =10이면 출력은 다음과 같습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve() 함수를 정의합니다. 이것은 뿌리를 내릴 것입니다, 낮음, 높음 루트가 null이면 반환 루트의 데이터, 그러면 반환 해결(루트 오른쪽, 낮음, 높음) 높은 <루트의 데이터이면 해결 반환(루트 왼쪽, 낮음, 높음) 루트 오른쪽 :=해결(루트 오른쪽,

    11. Python에서 바이너리 트리가 BST인지 확인하는 프로그램

      이진 트리가 있다고 가정합니다. 이진 탐색 트리인지 아닌지 확인해야 합니다. 우리가 알고 있듯이 BST에는 다음과 같은 속성이 있습니다 - 왼쪽 하위 트리의 모든 노드가 현재 노드 값보다 작음 오른쪽 하위 트리의 모든 노드가 현재 노드 값보다 큽니다. 이 속성은 모든 노드에 대해 재귀적으로 유지됩니다. 따라서 입력이 다음과 같으면 그러면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − x :=트리 요소의 중위 순회 시퀀스 목록 x가 정렬되면 참을 반환 거짓 반환 이해를 돕기 위해

    12. Python에서 한 번의 스왑으로 사전적으로 가장 작은 문자열을 찾는 프로그램

      문자열 s가 있다고 가정하고 주어진 문자열 s의 두 문자 간에 최대 한 번만 교환할 수 있는 경우 만들 수 있는 사전순으로 가장 작은 문자열을 찾아야 합니다. 따라서 입력이 zyzx와 같으면 출력은 xyzz가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − temp :=크기가 s이고 0으로 채워진 배열 m:=s의 크기 - 1 s -1 ~ -1 범위 크기의 i에 대해 1 감소, do s[i]

    13. 파이썬에서와 같은 값을 가진 연결 리스트의 모든 노드를 제거하는 프로그램

      단일 연결 목록과 하나의 대상이 있다고 가정하고 대상과 값이 동일한 모든 노드를 삭제한 후 동일한 연결을 반환해야 합니다. 따라서 입력이 [5,8,2,6,5,2,9,6,2,4]와 같으면 출력은 [5, 8, 6, 5, 9, 6, 4, ]입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 헤드:=노드 node와 node.next가 null이 아닌 동안 do 다음 노드의 값이 target과 같을 때 do 다음 노드 :=다음 노드 노드:=노드의 다음 head의 값이 target과 같으면 머리 다음 반환 그렇지

    14. 파이썬에서 이진수를 나타내는 연결 리스트를 십진 정수로 변환하는 프로그램

      단일 연결 목록이 있다고 가정합니다. 연결 리스트는 가장 중요한 자릿수가 먼저 있는 이진수를 나타내므로 십진수로 반환해야 합니다. 따라서 입력이 [1,0,1,1,0]과 같으면 출력은 22가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − l :=새 목록 노드가 null이 아닌 동안 수행 l 끝에 노드 값 삽입 노드:=노드의 다음 k :=0, v:=0 범위 크기가 l - 1에서 0인 i에 대해 1만큼 감소, do l[i]가 1과 같으면 v :=v + 2^k k :=k + 1 반환 v 이해를 돕기 위해

    15. 파이썬에서 리스트의 각 요소와 주어진 값으로 주어진 연산을 수행하는 프로그램

      nums라는 숫자 목록이 있고 +, -, / 또는 *와 같은 연산자를 나타내는 또 다른 문자열 op가 있고 또 다른 값 val도 제공된다고 가정합니다. val을 사용하여 숫자를 입력하고 결과를 반환합니다. 따라서 입력이 [5,3,8]과 같으면 출력은 [15, 9, 24]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res:=새 목록 숫자 단위의 각 i에 대해 다음을 수행합니다. op가 +와 같으면 res 끝에 i+val 삽입 그렇지 않으면 op가 -와 같을 때 then res 끝에 i-val 삽입 그

    16. Python에서 주어진 연산을 수행하여 모든 요소를 ​​동일하게 만드는 프로그램

      nums라는 숫자 목록을 제공했다고 가정하고 값을 동일하게 만들고 싶습니다. 이제 목록에서 하나의 요소를 선택하고 다른 모든 값을 증가시키는 작업을 시작합니다. 요소 값을 동일하게 만드는 데 필요한 최소 작업 수를 찾아야 합니다. 따라서 입력이 [2, 4, 5]와 같으면 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − min_val :=최소 숫자 s :=0 숫자 단위의 각 숫자에 대해 다음을 수행합니다. s :=s + (num - min_val) 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다

    17. 파이썬에서 각 요소를 왼쪽에서 가장 작은 항으로 바꾸는 프로그램

      nums라는 숫자 목록이 있다고 가정하고 모든 nums[i]를 i의 왼쪽에 있는 가장 작은 요소로 바꿔야 합니다. nums[0]을 0으로 바꿔야 합니다. 따라서 입력이 [15, 7, 9, 16, 12, 25]와 같으면 출력은 [0, 15, 7, 7, 7, 7]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − nums가 비어 있으면 새 목록 반환 j:=숫자[0] 숫자[0]:=0 범위 1에서 숫자 - 1까지의 i에 대해 k:=숫자[i] 숫자[i]:=j j:=j, k의 최소값 반환 번호 이해를 돕기 위해

    18. Python의 문자열 목록에서 가장 긴 공통 접두사를 찾는 프로그램

      소문자 문자열 목록이 있다고 가정하고 가장 긴 공통 접두사를 찾아야 합니다. 따라서 입력이 [안티바이러스, 반시계방향, 반중력]과 같으면 출력은 안티가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 목록 단어를 알파벳순으로 정렬 접두사 :=새 목록 플래그 :=0 0에서 단어 크기[0] 사이의 i에 대해 단어의 각 j에 대해 수행 j[i]가 접두사의 마지막 요소와 같지 않으면 접두사에서 마지막 요소 삭제 플래그 :=1 루프에서 나오다 플래그가 1과 같으면 루프에서 나오다 접두사 배열에 있는 모든

    19. Python에서 연속적인 공통 문자로 부분 문자열의 길이를 찾는 프로그램

      문자열 s가 있다고 가정하고 동일한 문자를 가진 가장 긴 부분 문자열의 길이를 찾아야 합니다. 따라서 입력이 abbbaccabbbba와 같으면 4개의 연속 b가 있으므로 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s의 크기가 0이면 0을 반환 s :=공백 연결 ct:=1, 시간:=1 0에서 s -2 크기의 범위에 있는 i에 대해 다음을 수행합니다. s[i]가 s[i+1]과 같으면 항목 :=항목 + 1 그렇지 않으면 ct:=temp 및 ct의 최대값 항목:=1 ct를 반환 이해를

    20. Python에서 문자를 교환하여 동일한 길이의 두 문자열을 같게 하는 프로그램

      길이가 n인 두 개의 문자열 s와 t가 있다고 가정합니다. s에서 한 문자를 가져오고 t에서 다른 문자를 가져와서 바꿀 수 있습니다. 우리는 무제한 스왑을 할 수 있습니다. 두 문자열을 동일하게 만드는 것이 가능한지 여부를 확인해야 합니다. 따라서 입력이 s =xy, t =yx와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − st:=s와 t를 연결한 후 문자열 정렬 범위 0에서 st - 1 크기의 i에 대해 2만큼 증가, do st[i]가 st[i+1]과 같지 않으면 거짓을 반환

    Total 8994 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:172/450  20-컴퓨터/Page Goto:1 166 167 168 169 170 171 172 173 174 175 176 177 178