1.1 基本觀念介紹
一、Linked List
1.1 基本觀念介紹
1.1.1 Singly linked list
一、Hash Map
1.1 基本觀念介紹
一、前導知識
1.1 演算法評估標準
1.2 Time complexity
1. 關於面試者
1.1 太緊張到沒辦法好好打招呼或是回答問題
Java Whiskers
一、先想好怎麼敘述自己症狀
二、常用到身體不適的描述單字 / 語句
一、處方用藥
1.1 藥物攜帶疑問
1.2 藥品管制查詢
主要看自己的藥有沒有在藥品管制級別 schedule 上,注意是查製作藥品的藥物名稱,所以假設你是要查普拿疼,不是查 panadol 而是要查成份 acetaminophen。
1.3 Letter of proof / Personal license 之申請
1.3.1 Letter of prove
1.3.2 Personal licence
1.4 不推薦的作法
一、每天都要接觸英文,不管是用哪種方式,讓自己習慣
1.1 查資料、看菜單時等等都先看英文說明再對照中文
1.2 看影集時練習聽力
一、Recursion
1.1 基本觀念介紹
遞迴就是在函式之中呼叫函式自己本身,本質上是將複雜的問題,拆分成具有相同性質的子問題,進而解決問題的方法。
一個基本的遞迴函式一定要有:
終止條件 (基本條件)
遞迴條件 (呼叫自己的條件)
如果沒有終止條件,就會無限循環直到當掉。
範例 1 : 假設輸入一個正整數 n,求 1 + 2 + … + n 的總和
我們可以很直覺的使用迭代 (迴圈) 的方式,將所有數字累加在一起。
function sum(n) { | |
let result = 0; | |
for (let i = 1; i <= n; i++) { | |
result += i; | |
} | |
return result; | |
} |
但因為這個問題能拆成有規律的數個小問題,
如輸入正整數 2 → 1 + 2 = 3
輸入正整數 3 → 1 + 2 + 3 = 6
…
所以這時候就可以使用遞迴來計算。
function sum(n) { | |
if (n === 1) { | |
return 1; | |
} | |
return n + sum(n - 1); | |
} |
Time complexity 是 O(n),Space complexity 是 O(1)。