時間複雜度:
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次
https://medium.com/@sugofish/%E6%80%8E%E6%A8%A3%E9%83%BD%E8%A8%98%E4%B8%8D%E4%BD%8F%E7%9A%84-%E6%99%82%E9%96%93-%E7%A9%BA%E9%96%93%E8%A4%87%E9%9B%9C%E5%BA%A6-cf060c7fc2c0