【LeetCode刷题-双指针】--259.较小的三数之和

259.较小的三数之和

方法:排序+双指针

java 复制代码
class Solution {
    public int threeSumSmaller(int[] nums, int target) {
        Arrays.sort(nums);
        int k = 0;
        for(int i = 0;i<nums.length;i++){
            int start = i + 1,end = nums.length - 1;
            while(start < end){
                int sum = nums[start] + nums[end] + nums[i];
                if(sum < target){
                    k += (end - start);  //因为数组排好序了,所以start到end中的数都小于target
                    start++;
                }
                if(sum >= target){
                    end--;
                }
            }
        }
        return k;
    }
}
相关推荐
王老师青少年编程1 分钟前
2025年12月GESP(C++二级): 环保能量球
c++·算法·gesp·csp·信奥赛·二级·环保能量球
KingRumn5 分钟前
DBUS源码剖析之DBusMessage数据结构
linux·服务器·数据结构
weixin_433417677 分钟前
Canny边缘检测算法原理与实现
python·opencv·算法
CoderCodingNo12 分钟前
【GESP】C++五级真题(贪心思想考点) luogu-P11960 [GESP202503 五级] 平均分配
开发语言·c++·算法
youngee1130 分钟前
hot100-61电话号码的字母组合
java·数据结构·leetcode
POLITE335 分钟前
Leetcode 76.最小覆盖子串 JavaScript (Day 6)
javascript·算法·leetcode
jackyrongvip37 分钟前
10个动画介绍递归(用Gemin3生成)
数据结构·递归·gemin3
一条大祥脚2 小时前
26.1.1
数据结构·算法
csuzhucong2 小时前
圆柱三阶魔方、六棱柱魔方
算法