思路:把每次的結果放在字典裡
from functools import wraps
defmemo
(func):
cache={}
@wraps(func)
defwrap
(*args):
if args not
in cache:
cache[args]=func(*args)
return cache[args]
return wrap
@memo
deffib
(i):
if i<2:
return
1return fib(i-1)+fib(i-2)
if __name__=='__main__':
print(fib(100))
help(fib)
markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。 —— [ 維基百科 ]使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細語法參考幫助?。
本編輯器支援markdown extra, 擴充套件了很多好用的功能。具體請參考github.
markdown extra**語法:
專案**
computer
$1600
phone
$12pipe$1
可以使用冒號來定義對齊方式:
專案**
數量computer
1600 元
5phone
12 元
12pipe
1 元234
markdown extra定義列表語法:
專案1
專案2定義 a
定義 b
專案3定義 c
定義 d
定義d內容
**塊語法遵循標準markdown**,例如:
@requires_authorization
defsomefunc
(param1='', param2=0):
'''a docstring'''
if param1 > param2: # interesting
print
'greater'
return (param2 - param1 + 1) or
none
class
someclass:
pass
>>> message = '''interpreter
... prompt'''
生成乙個腳注1.
用[toc]
來生成目錄:
離線寫部落格
瀏覽器相容
使用mathjax渲染latex 數學公式,詳見math.stackexchange.com. x
=−b±
b2−4
ac−−
−−−−
−√2a
x =−
b±b2
−4ac
2a
更多latex語法請參考 這兒.
可以渲染序列圖:
或者流程圖:
即使使用者在沒有網路的情況下,也可以通過本編輯器離線寫部落格(直接在曾經使用過的瀏覽器中輸入write.blog.csdn.net/mdeditor即可。markdown編輯器使用瀏覽器離線儲存將內容儲存在本地。
使用者寫部落格的過程中,內容實時儲存在瀏覽器快取中,在使用者關閉瀏覽器或者其它異常情況下,內容不會丟失。使用者再次開啟瀏覽器時,會顯示上次使用者正在編輯的沒有發表的內容。
部落格發表後,本地快取將被刪除。
使用者可以選擇 把正在寫的部落格儲存到伺服器草稿箱,即使換瀏覽器或者清除快取,內容也不會丟失。
注意:雖然瀏覽器儲存大部分時候都比較可靠,但為了您的資料安全,在聯網後,請務必及時發表或者儲存到伺服器草稿箱。ie9以下不支援
ie9,10,11存在以下問題
不支援離線功能
ie9不支援檔案匯入匯出
ie10不支援拖拽檔案匯入
這裡是腳注的 內容. ↩
動態規劃python
問題描述 最長遞迴子串行即給定乙個序列,求解其中最長的遞增的子串行的長度 注意 在求解過程中,長度為n的遞增子串行可能不止乙個,但是在所有長度為n的子串行中,有乙個子串行是比較特殊的,那就是最大元素最小的遞增子序 def getdp1 arr n len arr dp 0 nfor i in ran...
動態規劃python實現
考慮乙個場景 當你有去沙漠旅行,你有乙個揹包和一些物品,揹包有最大承受重量,物品也有重量和價值,而物品種類很多,不可能全都裝在揹包裡,如何去選取價值總量最高的物品組合呢?物品名價值 water 10book 3food 9jacket 5camera 6物品名 重量water 3kgbook 1kg...
python學習動態規劃
今天花了幾個小時,重新理解了一下dp。首先我們要知道為什麼要使用dp,我們在選擇dp演算法的時候,往往是在決策問題上,而且是在如果不使用dp,直接暴力效率會很低的情況下選擇使用dp.那麼問題來了,什麼時候會選擇使用dp呢,一般情況下,我們能將問題抽象出來,並且問題滿足無後效性,滿足最優子結構,並且能...