CS61B - 时间复杂度
1. 什么是时间复杂度?
我们每定义一个参数,都是为了实现一定的目的,那么为什么需要时间复杂度这一参数呢?我们首先考虑一个问题:
在一个有序数列中判断是否存在重复的元素
对于这个简单的要求,我们可以想到两种解决方案:
- 遍历数列中的每一个元素,与数列中其他的元素比较大小,若找到相等的元素,返回true,若遍历后都未找到重复元素,返回false。接下来我们用代码实现这一方法:
public static boolean findStupid(String[] input) {
for(int i=0; i<input.length; i+=1) {
for(int j=i+1; j< input.length; j+=1) {
if(input[i].equals(input[j])) {
return true;