【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;
    }
}
相关推荐
星马梦缘2 分钟前
离散数学——二元关系 作战记录
算法·离散数学
LDG_AGI6 分钟前
【搜索引擎】Elasticsearch(五):prefix前缀匹配方法大全(包含search_as_you_type等6种解法)
人工智能·深度学习·算法·elasticsearch·搜索引擎
她说彩礼65万9 分钟前
C语言 函数指针
c语言·开发语言·算法
王老师青少年编程9 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【排序贪心】:纪念品分组
c++·算法·贪心·csp·信奥赛·排序贪心·纪念品分组
贾斯汀玛尔斯13 分钟前
每天学一个算法--贪心算法(Greedy Algorithm)
算法·贪心算法
前端摸鱼匠14 分钟前
【AI大模型春招面试题24】什么是“注意力分数”?如何计算?其大小反映了什么?
人工智能·算法·ai·面试·大模型·求职招聘
MicroTech202514 分钟前
融合残差结构的量子电路算法:MLGO微算法科技拓展量子机器学习频谱边界
科技·算法·机器学习
H_BB14 分钟前
动态规划详解
c++·算法·动态规划
算法鑫探15 分钟前
贪心算法(C 语言实现)及经典应用
c语言·数据结构·算法·贪心算法
始三角龙16 分钟前
LeetCode hoot 100 -- 和为K的子数组
算法·leetcode·职场和发展