public static List<Integer> countOfSmallerNumber(int[] A, int[] queries) {List
List<Integer> result = new ArrayList<Integer>(queries.length);static
int step =20;while
if(A!=null && A.length>1){co
step = step/2;new
while(step>0){j-s
for(int i =step;i< A.length;i++){return
int key = A[i];
int j;
for(j=i-step;j>=0 && j<A.length; ){
if(key<A[j]){
A[j+step]=A[j];
j =j-step;
}else{
break;
}
}
A[j+step]=key;
}
step = step/2;
}
}
for(int i=0;i<queries.length;i++){
int round =0;
int left =0;
int right = A.length-1;
int mid=0;
while (left <= right) {
mid = (left + right) / 2;
if (queries[i] < A[mid]) {//i在左邊
right = mid - 1;
round =1;
} else if (A[mid] < queries[i]) {//i在右邊
left = mid + 1;
round =2;
} else {
round =0;
while(mid>0&&A[mid-1] == queries[i]){
mid--;
}
break;
}
}
if(round ==2) {
result.add(mid+1);
}else {
result.add(mid);
}
}
return result;
}