一个整数数组,有n个整数,如何找其中m个数的和等于另外n-m个数的和?
2024-10-19 23:50:15
int getSum(int* arr, int len) { int sum = 0; for (int i = 0; i < len; ++i) { sum += arr[i]; } return sum; } void difPrint(int* arr, int len, vector<int> vct) { cout << vct.size() << " =m 数组: "; for (int i = 0; i < vct.size(); ++i) { cout << vct[i] << " "; } cout << endl; cout << len - vct.size() << " =n-m 数组: "; int vid = 0; for (int i = 0; i < len; ++i) { if (vct[vid] == arr[i]) { vid++; continue; } else { cout << arr[i] << " "; } } cout << endl << endl; } //vector<int> result; void findNumsEqSum(int* arr, int step, int len, int curSum, int sum, vector<int> vct) { if (!arr || !len || curSum > sum || step == len) { return; } if (sum == curSum) { difPrint(arr, len, vct); } else { vct.push_back(arr[step]); findNumsEqSum(arr, step + 1, len, curSum + arr[step], sum, vct); vct.pop_back(); findNumsEqSum(arr, step + 1, len, curSum, sum, vct); } }
最新文章
- C#语言基础——特殊集合
- c语言strtod()函数的用法
- 解决Maven项目编译时提示:源值1.5已过时,将在未来所有版本中删除
- android: 将程序运行到手机上
- OOD沉思录 --- 类和对象的关系 --- 包含关系2
- android中判断sim卡状态和读取联系人资料的方法
- ajax_异步交互-get/post方式
- firebug的调试,console
- WebSocket数据包协议详解
- XStream的使用
- 那些年我遇到的ERP顾问
- CountDownLatch类实现同步
- javascript中的函数节流和函数去抖
- [PHP] 编写爬虫获取淘宝网上所有的商品分类以及关键属性 销售属性 非关键属性数据
- Python request库与爬虫框架
- Pymysql-总结
- TCP/IP详解 卷1 第十九章 TCP的交互数据流
- 【线程】linux之thread错误解决方案
- 用OpenGL进行立方体表面纹理贴图
- tomcat原理分析与简单实现