问题:
给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。
对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。
解题思路:
定义两个数组,两个for循环嵌套,遍历数组,使用if语句进行比较,如果nums[j]<nums[i]且j!=i,进行sum++;否则sum不变,j++,将sum赋值给arr[]数组并遍历。
package day01;
public class demo3 {
public static void main(String[] args) {
int nums[]= {1,2,4,8};
int arr[]=new int[nums.length];
int sum=0;
for(int i=0;i<nums.length;i++) {
sum=0;
for(int j=0;j<nums.length;j++) {
if(nums[j]<nums[i]) {
sum++;
}else if(j==i){
j++;
}
}
arr[i]=sum;
//System.out.println(sum);
}
for(int i=0;i<nums.length;i++) {
System.out.print(arr[i]+" ");
}
}
}
结果:
0 1 2 3