# Leetcode 基礎知識 1.演算法 常見的時間複雜度所需的時間排列 時間複雜度Big O所需時間的順序(由快到慢) O(1)最快代表不論輸入多少時間都是固定的;O(nn最慢代表時間為輸入數量自身的次方倍。 O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn) >C++ TOOL use to binary serach 【用途】針對「已經排序」的資料進行binary search。 * vector <int> v; * sort(v.begin(), v.end()); 1. lower_bound:找出vector中「大於或等於」val的「最小值」的位置: auto it = lower_bound(v.begin(), v.end(), val); 2. upper_bound:找出vector中「大於」val的「最小值」的位置: auto it = upper_bound(v.begin(), v.end(), val);