Given a list of numbers, find the number of tuples of size N that add to S.

for example in the list (10,5,-1,3,4,-6), the tuple of size 4 (-1,3,4,-6) adds to 0.

题目:

给一数组,求数组中和为S的N个数

思路:

回溯法,数组中每个数都有两种选择,取或者不取;

当选择的数等于N时,则判断该数之和是否等于S。

代码:

#include <iostream>
#include <vector> using namespace std; void GetSum(int sum,vector<int> &result,int *num,int n,int curSum,int index,int count){
if(count==n+1)
return; if(index==4){
if(curSum==sum){
for(int i=0;i<4;i++)
cout<<result[i]<<" ";
cout<<endl;
}
return;
} int x=num[count];
result.push_back(x);
GetSum(sum,result,num,n,curSum+x,index+1,count+1);
result.pop_back();
GetSum(sum,result,num,n,curSum,index,count+1);
} int main()
{
int nums[]={10,-5,-5,0,5,4,6};
int len=sizeof(nums)/sizeof(nums[0]);
int curSum=0;
int index=0;
int count=0;
int sum=0;
vector<int> result;
GetSum(sum,result,nums,len,curSum,index,count);
return 0;
}

最新文章

  1. Project Woosah Tu (五色土)
  2. index()、e.target.value、on()与快捷处理的区别、
  3. [问题2014A06] 复旦高等代数 I(14级)每周一题(第八教学周)
  4. C#实现自动升级(附源码)
  5. 同是url参数传进来的值,String类型就用getAttribute获取不到,只能用getParameter获取,而int就两个都可以这是为什么?
  6. Android SoundPool.play方法的音量与系统音量的关系
  7. [ActionScript 3.0] Away3D 旋转效果
  8. set_include_path()的用法
  9. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅲ
  10. pygame编写贪吃蛇
  11. GoLang(第一篇 安装)
  12. 使用Mermaid画图
  13. 使用Tornado异步接入第三方(支付宝)支付
  14. python 爬虫与数据可视化--数据提取与存储
  15. JPA中建立数据库表和实体间映射小结
  16. [hive] hiveql 基础操作
  17. 《剑指offer》第六十六题(构建乘积数组)
  18. LeetCode 11. [&#128065;] Container With Most Water &amp; two pointers
  19. Python pip下载安装库 临时用清华镜像命令
  20. Flask常用的钩子函数

热门文章

  1. 如果修改GeneXus Android的一些源码文件(FlexibleClient)
  2. 使用Jedis
  3. linux——(7)了解shell
  4. Redis学习篇(一)之String类型及其操作
  5. Codeforces 408 E. Curious Array
  6. 多个Fragment在屏幕翻转会重影问题的解决
  7. 【BZOJ】1996: [Hnoi2010]chorus 合唱队【区间dp】
  8. bzoj 3932: [CQOI2015]任务查询系统 -- 主席树 / 暴力
  9. Rails -- 关于Migration
  10. UESTC 2015dp专题 G 邱老师玩游戏 背包dp