Skip to content

Instantly share code, notes, and snippets.

@chairco
Created December 20, 2018 03:53
Show Gist options
  • Save chairco/5210c1efb27117d4bbec7616d2e00d59 to your computer and use it in GitHub Desktop.
Save chairco/5210c1efb27117d4bbec7616d2e00d59 to your computer and use it in GitHub Desktop.
時間複雜度:
O(1) = 公式解
O(n) = 1 層迴圈
O(n^2) = 2 層迴圈
0(log n) = 對半切
空間複雜度:
O(1) = 不會用到額外 array
O(n) = 會用到跟 input 成正本的一層 array

複雜解釋:

用知不知道事情來演示
O(1) = 你們誰有知道自己出來
O(n) = 超人你知不知道?(知道啥)蝙蝠俠知不知道?(知道啥)神力女超人妳知不知道?(知道啥)....到問到有人知道為止,所以最差狀況就是大家都被問了一輪
O(n^2) = 問超人:你知不知道?(知道啥),蝙蝠俠知不知道?(知道啥)神力女超人知不知道?(知道啥)...問完全部人知不知道後,換問蝙蝠俠:你知不知道?(知道啥),超人知不知道?(知道啥)?.....重複到都問完,所以最差狀況就是要問n^2次