#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 大于目标值的最多组合
int max_zuhe(vector<int> &nums,int target){
int res = 0;
sort(nums.begin(), nums.end());
int i = 0,j = nums.size()-1;
while (i<j){
if (nums[j] >= target){
res++;
j--;
} else{
while (nums[i]+nums[j] < target) i++;
if (nums[i]+nums[j]>=target && i<j){
i++;
j--;
res++;
}
}
}
return res;
}
int main(){
vector<int> nums = {3,1,5,7,9,2,6};
int target = 8;
int res= max_zuhe(nums,target);
cout<<res<<endl;
return 0;
}
大于目标值的最多组合数
最新推荐文章于 2024-11-14 21:21:03 发布
这篇文章介绍了如何使用C++编写一个名为`max_zuhe`的函数,该函数在给定整数向量中找出所有大于等于目标值的元素组合的最大数量。它通过排序和双指针技巧实现。
摘要由CSDN通过智能技术生成