最好时间复杂度
观察下面的代码,请问它的最好时间复杂度是多少?
int func(int n,int m){
for(int i = min(n,m) ; i >= 1 ; i--){
if(n % i == 0 && m % i == 0)
return i;
}
return - 1;
}
{{ select(1) }}
观察下面的代码,请问它的最好时间复杂度是多少?
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
bool flag = true;
for (int j = 0; j < n – i - 1; j++) {
if (arr[j] > arr[j + 1]) {
flag = false;
swap(arr[j], arr[j + 1]);
}
}
if(flag)break;
}
}
{{ select(2) }}
最坏时间复杂度
观察下面的代码,请问它的最坏时间复杂度是多少?
int func(int n,int m){
if(n < m)swap(n,m);//保证n大于m
for(int i = n ; i >= 1 ; i--){
if(n % i == 0 && m % i == 0)
return i;
}
return - 1;
}
{{ select(3) }}
观察下面的代码,请问它的最坏时间复杂度是多少?
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n – i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
}
}
}
}
{{ select(4) }}