高階程式設計技術 Python 第七周作業

2021-08-19 23:37:39 字數 1279 閱讀 1409

分析:給定乙個陣列和乙個整數k,要求把陣列的最後k個數按原序移到開頭去。

做法:使用o(n)的額外空間複雜度,把陣列的後k個數和前n-k個數依次放入tmp陣列中,再覆蓋原有的陣列。

def rotate(self, nums, k):

""":type nums: list[int]

:type k: int

:rtype: void do not return anything, modify nums in-place instead.

"""n = len(nums)

tmp =

for i in range(n-k, n):

for i in range(0, n-k):

for i in range(0, n):

nums[i] = tmp[i]

狀態:

分析:給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。

例如,給定三角形:

[

[2],

[3,4],

[6,5,7],

[4,1,8,3]

]

自頂向下的最小路徑和為11(即,2 + 3 + 5 + 1 = 11)。

做法:自底向上動態規劃。對於每個節點,從它向下的最小路徑和為它自己的權值+它往下兩個節點的最小路徑和。由此得到狀態轉移方程:

********[i][j] += min(********[i+1][j], ********[i+1][j+1])

**如下:

def minimumtotal(self, ********):

""":type ********: list[list[int]]

:rtype: int

"""n = len(********)

for i in range(n-2, -1, -1):

for j in range(0, i+1):

********[i][j] += min(********[i+1][j], ********[i+1][j+1])

return ********[0][0]

狀態:

高階程式設計技術 week4 第七章

7 1 汽車租賃 編寫乙個程式,詢問使用者要租賃什麼樣的汽車,並列印一條訊息,如 let me see if i can find you a subaru 7 2 餐館訂位 編寫乙個程式,詢問使用者有多少人用餐。如果超過8人,就列印一 條訊息,指出沒有空桌 否則指出有空桌。10的整數倍 讓使用者輸...

併發程式設計技術 Python高階

併發任務處理,即同時執行多個任務,可以採用如下幾種方案實現 1.多程序,即建立多個程序,每個程序 其實是程序中的主線程 負責執行乙個任務,由於多個程序可以同時執行,所以就可以實現併發任務處理 2,多執行緒 即建立多個執行緒,每個執行緒負責執行乙個任務,由於多個執行緒可以同時執行,所以就可以實現併發任...

藝術程式設計 技術之聲第七期

藝術程式設計 技術之聲第七期 技術未來 1.見龍在田 永珍出淵 十三五軟體規劃解讀 軟體定義製造系列031 2.我回阿里的29個月 3.高效能web架構 技術之聲 1.從瀏覽器到服務端的中文亂碼深入分析 2.攜程如何從海量資料中構建精準使用者畫像?3.大資料下基於tensorflow框架的深度學習示...