根据数据范围推测算法复杂度

1. N <= 20 --> O(2^n)

2^20 = 1048576, 约等于100万

leetcode上的题目1755. 最接近目标值的子序列和
这道题的数据范围 N <= 40, 如果直接暴力那复杂度就是 2^40 = 1099511627776,但是采用分治思想,把 40 对半后再暴力,复杂度就变成了 2 * 2^20,大概200万的复杂度,属于可接受范围。

2. 20 < N <= 100 --> O(n^3)

3. 100 < N <= 1000 --> O(n^2)

4. 10000 < N <= 10^5 --> O(nlogn)

5. 10^5 < N <= 10^8 --> O(n)

6. N > 10^8 --> O(logn)

posted @ 2021-03-12 17:48  miyanyan  阅读(204)  评论(0编辑  收藏  举报