datawhale 資料結構第二次任務

2021-09-22 16:44:29 字數 2463 閱讀 9249

valid parentheses(有效的括號)

英文版:

中文版:

evaluate reverse polish notatio(逆波蘭表示式求值)

英文版:

中文版: 佇列

design circular deque(設計乙個雙端佇列)

中文版:

class mycirculardeque:

def __init__(self, k: int):

"""initialize your data structure here. set the size of the deque to be k.

"""self.item =

self.k = k

def insertfront(self, value: int) -> bool:

"""adds an item at the front of deque. return true if the operation is successful.

"""if len(self.item) >= self.k:

return false

self.item.insert(0, value)

return true

def insertlast(self, value: int) -> bool:

"""adds an item at the rear of deque. return true if the operation is successful.

"""if len(self.item) >= self.k:

return true

def deletefront(self) -> bool:

"""deletes an item from the front of deque. return true if the operation is successful.

"""if len(self.item) == 0:

return false

self.item.pop(0)

return true

def deletelast(self) -> bool:

"""deletes an item from the rear of deque. return true if the operation is successful.

"""if len(self.item) == 0:

return false

self.item.pop()

return true

def getfront(self) -> int:

"""get the front item from the deque.

"""if len(self.item) == 0:

return -1

return self.item[0]

def getrear(self) -> int:

"""get the last item from the deque.

"""if len(self.item) == 0:

return -1

return self.item[-1]

def isempty(self) -> bool:

"""checks whether the circular deque is empty or not.

"""return self.item ==

def isfull(self) -> bool:

"""checks whether the circular deque is full or not.

"""if len(self.item) == self.k:

return true

sliding window maximum(滑動視窗最大值)

中文版:

我的媽,暴力**!

程式設計實現斐波那契數列求值 f(n)=f(n-1)+f(n-2)

程式設計實現求階乘 n!

程式設計實現一組資料集合的全排列

英文版:

中文版:

設跳n個台階有f(n)種方法,

爬1個:1種

爬2個:2種

爬n個:面臨兩種選擇:

(1) 第一次爬1個,此時剩餘n-1個台階,有f(n-1)種方法

(2) 第一次爬2個,此時剩餘n-2個台階,有f(n-2)種方法

所以f(n) = f(n-1) + f(n-2)

class solution:

def climbstairs(self, n: int) -> int:

if n<=2:

return n

num1=1

num2=2

numn=0

for i in range(2,n):

numn=num1+num2

num1=num2

num2=numn

return numn

第二講 資料結構

include using namespace std const int n 100010 int e n ne n head 1,idx 向煉表頭插入乙個數x o 1 void add to head int x 在第k個插入的數後面插入乙個數x o 1 要用鍊錶那就是o n void add ...

第二章 資料結構 二

知識點 trie樹 並查集,堆的操作 高效地儲存和查詢字串集合的資料結構 const int n 100010 int son n 26 cnt n idx 插入 void insert char str cnt p 以這個點結尾的字元數 查詢 intquery char str return cn...

資料結構 第二章 線性結構

線性結構 特點 1頭兒 只有沒有前驅只有後繼 2中間的 既有前驅也有後繼 3尾 沒有後繼只有前驅 4邏輯相鄰,物理也相鄰。常用的 線性表 順序表,鍊錶 棧佇列 儲存結構 定義順序表 陣列 建表 查詢 增刪改查 單向鍊錶 1.新建鍊錶 c語言結構體 struct node int data struc...