LintCode 题目:三数之和
程序员文章站
2022-03-24 17:54:43
...
URL:https://www.lintcode.com/problem/3sum-smaller/description
描述
给定一个n
个整数的数组和一个目标整数target
,找到下标为i、j、k
的数组元素0 <= i < j < k < n
,满足条件nums[i] + nums[j] + nums[k] < target
.
样例
样例1
输入: nums = [-2,0,1,3], target = 2
输出: 2
解释:
因为有两种三个元素之和,它们的和小于2:
[-2, 0, 1]
[-2, 0, 3]
样例2
输入: nums = [-2,0,-1,3], target = 2
输出: 3
解释:
因为有三种三个元素之和,它们的和小于2:
[-2, 0, 1]
[-2, 0, 3]
[-2, -1, 3]
在代码段中添加:
int count = nums.size();
int n;
for (int i = 0; i < count-2; i++) {
/* code */
for (int j = i+1; j < count-1; j++) {
/* code */
for (int k = j+1; k < count; k++) {
/* code */
if(nums[i]+nums[j]+nums[k]<target)
n++;
}
}
}
return n;
即可:
上一篇: topK问题