A[i]是一个有序递增数组,其中所有的数字都不相等,请设计一种算法,求出其中所有的A[i]=i的数字并分析时间复杂度,不分析复杂度不得分。
for(int i : a) {
if(a[i] != i) {
a[i] = -1;
}
}
这样所有a[i] !=-1的就是了 复杂度O(n)
package com.cn.test;
import java.util.ArrayList;
import java.util.List;
public class arrayTest {
public static void main(String[] args) {
int [] ss=new int[]{0,1,3,0,4,2,6};
for(int i=0;i<ss.length;i++){
if(ss[i]==i){
System.out.println(i);
System.out.println(ss[i]);
System.out.println ("====================");
}
}
}
}
0
1
4
6
呵呵 看題意寫代碼 不知道你要的精髓是什麼