关注
第一题就是组合问题,先求出数组总和的一半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];
}
}
查看原帖
点赞 评论
相关推荐
02-27 19:45
青岛农业大学 嵌入式工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招/暑实第一面是哪家? #
7569次浏览 110人参与
# 面试官最爱问的 AI 问题是...... #
5239次浏览 188人参与
# 如何一边实习一边找下家? #
5468次浏览 56人参与
# 面试官问过你最刁钻的问题是什么? #
75330次浏览 466人参与
# 你收到了哪些公司的笔试? #
7714次浏览 37人参与
# 机械制造面试点评 #
90467次浏览 482人参与
# 跟HR说什么能被秒回? #
2863次浏览 52人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
662次浏览 20人参与
# 你的嫡系AI是哪个? #
1392次浏览 40人参与
# 你现在的工作,是“成长”还是“消耗”? #
5189次浏览 81人参与
# 现在入门AI应该走哪些方向? #
1334次浏览 33人参与
# 你认为小厂实习有用吗? #
128371次浏览 707人参与
# 找不到好工作选择GAP真的丢人吗 #
102577次浏览 1020人参与
# 如何排解工作中的焦虑 #
282757次浏览 2552人参与
# 上班到公司第一件事做什么? #
150293次浏览 1055人参与
# 淘天集团工作体验 #
12737次浏览 59人参与
# 机械人选offer,最看重什么? #
165935次浏览 810人参与
# 金三银四,你的春招进行到哪个阶段了? #
19761次浏览 266人参与
# 追觅科技求职进展汇总 #
35875次浏览 190人参与
# 滴滴笔试 #
39077次浏览 215人参与
查看20道真题和解析