关注
最后一题怎么写吖?我的只能过40%
int calculate(int time, int sum, vector<int> value)
{
if (sum < 0 || time <= 0 || value.empty()) return 0;
int count = 0;
if (time == 1)
{
for (int i = 0; i < value.size(); i++)
{
if (value[i] == sum)
count++;
}
return count;
}
else if (time == 2)
{
int left = 0; int right = value.size() - 1;
while (left < right)
{
int tempsum = value[left] + value[right];
if (tempsum > sum)
right--;
else if (tempsum < sum)
left++;
else
{
count++;
left++;
}
}
return count;
}
for (int i = 0; i < value.size(); i++)
{
vector<int> temp = value;
temp.erase(temp.begin(), temp.begin() + i + 1);
count += calculate(time - 1, sum - value[i], temp);
}
return count;
}
int main()
{
int selectNum, valueSum, numberOfGifts;
//中间读取数据
vector<int> valueOfGifts;
sort(valueOfGifts.begin(), valueOfGifts.end());
int count = calculate(selectNum, valueSum, valueOfGifts);
cout << count;
return 0;
}
查看原帖
1 5
相关推荐
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
7597次浏览 169人参与
# 异地恋该为对方跳槽吗 #
16881次浏览 97人参与
# 京东TGT #
8350次浏览 70人参与
# 硬件人更看重稳定还是高薪 #
32251次浏览 181人参与
# 职场新人生存指南 #
318708次浏览 6739人参与
# 面试经验谈 #
7290次浏览 111人参与
# 签约/解约注意事项 #
654151次浏览 3998人参与
# 不考虑转正,实习多久合适 #
22522次浏览 116人参与
# 哪些公司校招卡第一学历 #
55684次浏览 211人参与
# 滴滴工作体验 #
21717次浏览 123人参与
# 硬件人你反向读研了吗 #
38381次浏览 608人参与
# 国央企笔面经互助 #
124753次浏览 1068人参与
# 租房找室友 #
24221次浏览 131人参与
# 得物求职进展汇总 #
91674次浏览 791人参与
# 你遇到过哪些神仙同事 #
68069次浏览 623人参与
# 机械人选offer,最看重什么? #
88840次浏览 541人参与
# 哪些公司面试官让你印象深刻? #
259511次浏览 2733人参与
# 材料进Fab厂真的劝退吗? #
34820次浏览 158人参与
# 机械求职避坑tips #
39800次浏览 353人参与
# 学历or实习经历,哪个更重要 #
109992次浏览 740人参与
# 硬件人秋招的第一个offer #
64193次浏览 1079人参与