Pythonの定理
📕 基本
インベントリ
リストサイズ:len(list)
リストソート:list.sort()
数値または文字入力をスペースで受け入れる
arr = list(map(int,input().split()))
for i in range(len(list))
前者は、アレイ内で2 Dアレイを宣言します.
後者は、アレイ内でアレイを宣言するのではなく、各アレイでアレイを宣言します.
例)
a = [[0] * 2] * 3
b = [[0] * 2 for _ in range(3)]
a[0][0] = 1
b[0][0] = 1
print(a)
print(b)
# 출력
[[1, 0], [1, 0], [1, 0]]
[[1, 0], [0, 0], [0, 0]]
📑 データ構造
Pythonの場合、スタックデータ構造は単独で提供されません.
したがってlistを使用します.
スタックの生成とpush、popは以下のように実現される.
stackのトップはstack[1].
stack = []
stack.append(1)
stack.pop()
キュー提供ライブラリ.
from collections import deque
c++にSTLを追加するように、PythonもCollectionsモジュールからキューをロードする必要があります.使用方法は次のとおりです.
queue = deque([1, 2])
queue.append(3)
queue.popleft() -> 1이 반환된다.
優先キューを実装する際に使用するhip.
import heapq
heapq.heappush(q, (start, 0))
heapq.heappop(q)
🧱 アルゴリズム#アルゴリズム#
小数を求める場合、タイムアウト問題を効果的に解決します.これは紀元前200年代から書かれた検証された論理です.
n = 1000001 // 1부터 n인덱스까지 나타냄
prime_list = [True] * n // 일단 True로 박아둔다.
화이트리스트방식이라고 할수있음
prime_list[1] = False // 1은 소수가 아님
m = int(n ** 0.5) // sqrt(n)
for i in range(2, m + 1): //2부터 m까지
if prime_list[i] == True:
for j in range(2 * i, n, i):
//소수의 배수를 싹다 False 처리,
range함수의 3번째 인자는 늘어나는 수를 뜻함.
prime_list[j] = False
表タイムアウト
Reference
この問題について(Pythonの定理), 我々は、より多くの情報をここで見つけました https://velog.io/@ltebtr/파이썬-정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol