分析:給定乙個陣列和乙個整數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框架的深度學習示...