Python 費氏數列解法(三):Fast Doubling
上篇寫到費氏數列的矩陣解法來達成 $O(\lg n)$ 的時間複雜度,實際上可以再做一些變化來簡化計算。如果目標時間複雜度是 $O(\lg n)$,代表我們要能每次直接計算當 n 變成兩倍時的數值。
下面介紹的 Fast Doubling 方法就是這個例子。
上篇寫到費氏數列的矩陣解法來達成 $O(\lg n)$ 的時間複雜度,實際上可以再做一些變化來簡化計算。如果目標時間複雜度是 $O(\lg n)$,代表我們要能每次直接計算當 n 變成兩倍時的數值。
下面介紹的 Fast Doubling 方法就是這個例子。
不管是 FB 粉專,或是以前無名小站時代的部落格系統,都有提供排程發表文章的功能,讓寫手在靈感特別多的時候,或是行銷人員希望配合特定時程,可以預先寫好未來要發表的文章,並且在時間到的時候自動發表。
問題來了,如果是使用像 Hugo 這種靜態網站產生器,能否實現相同的功能呢?
在上篇我們討論了費氏數列的各種基本解法。
原本我也以為 O(n) 的迭代解就已經是標準解法了,直到被大神朋友指正:
問費氏數列應該是想聽 $O(\lg n)$ 解法吧?
查了一下還真的有,這篇文章寫得蠻完整的,這篇會參考該篇文章來撰寫,但會用我自己的話以及 Python 寫出來。
在 Google Domain 買了網域之後,就覺得該多利用一下這個新的個人網域 dwye.dev。 最簡單的事情就是做一個 email address。 原本以為會需要配合 Google Workspace (原本的 G Suite,畢竟在 Google Domain 一直出現他的廣告…),後來才發現其實 Google Domain 可以直接免費設置轉信到現有信箱。 還可以 100 筆。 又是 100,跟之前 Blogger 的一個帳號最多 100 個 blog 一樣,100 是什麼 magic number 嗎? 正文 進入 Google Domain,選擇你的網域 在側邊欄選擇電子郵件 忽略 Google Workspace 的廣告,捲到底下有個「電子郵件轉寄」,直接給他新增一個電子郵件別名 然後…就沒了ˊˋ 用起來又是
面試被問到的題目,雖然是很基本的題目,但相關延伸也有不少,寫篇文章記錄一下。