关注
第一题就是组合问题,先求出数组总和的一半target 再dfs看有没有最接近target的组合,有就更新。
void two_can(vector<int>& nums, vector<bool>& used,int start, int sum,double target,vector<int>& track,int& ans)
{
if(sum > ans) return; //超过之前较优解ans,剪枝
if(sum >= target) //满足 >= target 且小于之前较优解 ans,进来更新较优解ans
{
ans = sum; //最后ans就是答案
res.push_back(track);
return;
}
for(int i = start; i <nums.size();i++)
{
if(i > 0 && nums[i] == nums[i-1] && !used[i-1]) continue;//跳过重复元素
sum += nums[i];
track.push_back(nums[i]);
used[i] = true;
two_can(nums,used,i+1,sum,target,track,ans);
used[i] = false;
track.pop_back();
sum -= nums[i];
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
2780次浏览 62人参与
# 机械人你知道哪些单休企业 #
83062次浏览 414人参与
# 今年春招是金一银二嘛? #
8068次浏览 108人参与
# 参加完秋招的机械人,还参加春招吗? #
103634次浏览 684人参与
# 1月小结:你过的开心吗? #
1834次浏览 51人参与
# 抛开难度不谈,你最想去哪家公司? #
4265次浏览 109人参与
# 为什么有人零实习也能进大厂? #
4961次浏览 119人参与
# 机械人春招想让哪家公司来捞你? #
379237次浏览 3140人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
8208次浏览 197人参与
# AI求职实录 #
3454次浏览 101人参与
# 当你问AI“你会取代我的工作吗”,它说_? #
3653次浏览 133人参与
# 赚钱的意义在这一刻具象化 #
3911次浏览 93人参与
# 没关系,至少我的__很曼妙 #
3672次浏览 65人参与
# 你的第一家实习公司是什么档次? #
4162次浏览 70人参与
# 你的landing期是如何度过的? #
8578次浏览 163人参与
# 除了Java,最推荐学什么技术? #
5637次浏览 143人参与
# 一人一道大厂面试题 #
114091次浏览 1263人参与
# 你觉得什么岗位会被AI替代 #
36767次浏览 255人参与
# 你在职场上见过哪些“水货”同事 #
30734次浏览 167人参与
# 设计人如何选offer #
187116次浏览 864人参与
网易游戏公司福利 595人发布
查看4道真题和解析