2824. 统计和小于目标的下标对数目 --力扣 --JAVA

简介: 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ,请你返回满足 0 <= i < j < n 且 nums[i] + nums[j] < target 的下标对 (i, j) 的数目。

 题目

给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ,请你返回满足 0 <= i < j < nnums[i] + nums[j] < target 的下标对 (i, j) 的数目。

解题思路

    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;
        }
    }

    image.gif


    目录
    相关文章
    |
    2月前
    |
    Unix Shell Linux
    LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
    本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
    LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
    |
    1月前
    |
    算法 Java
    LeetCode(一)Java
    LeetCode(一)Java
    |
    3月前
    |
    算法 Java
    LeetCode第28题找出字符串中第一个匹配项的下标
    这篇文章介绍了LeetCode第28题"找出字符串中第一个匹配项的下标"的两种解法:暴力解法和KMP算法,并解释了KMP算法通过构建前缀表来提高字符串搜索的效率。
    LeetCode第28题找出字符串中第一个匹配项的下标
    |
    3月前
    |
    算法 Java
    LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
    LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
    50 6
    |
    3月前
    |
    存储 算法 Java
    LeetCode经典算法题:打家劫舍java详解
    LeetCode经典算法题:打家劫舍java详解
    68 2
    |
    3月前
    |
    人工智能 算法 Java
    LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
    LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
    50 1
    |
    3月前
    |
    存储 算法 Java
    LeetCode经典算法题:预测赢家+香槟塔java解法
    LeetCode经典算法题:预测赢家+香槟塔java解法
    59 1
    |
    3月前
    |
    存储 算法 Java
    LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
    LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
    79 0
    |
    3月前
    |
    算法 Java
    LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
    LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
    54 0
    |
    3月前
    |
    存储 算法 Java
    LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
    LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
    39 0