题目

解题思路

  1. 对数组进行排序,可以利用List自带的sort函数传递比较规则(代码中的是倒序,也可以直接传null为默认的顺序排序)
  2. 通过两层循环进行遍历,第二层循环当出现符合条件的则剩余元素都符合,可以跳出当前循环减少消耗;

代码展示

class Solution {
    public int countPairs(List<Integer> nums, int target) {
        nums.sort((a, b) -> b - a);
        int sum = 0;
        int n = nums.size();
        for (int i = 0; i < n; i++){
            int temp = nums.get(i);
            for (int j = i + 1; j < n; j++){
                if(temp + nums.get(j) < target){
                    sum += n - j;
                    break;
                }
            }
        }
        return sum;
    }
}
11-24 21:30