算法笔记整理
来源:互联网 发布:京东有类似淘宝联盟 编辑:程序博客网 时间:2024/06/06 19:30
今天主要看了以下内容:
1.寻找和为定值的多个数算法,以中兴面试题为例,即:输入两个整数,从数列1,2,3……n随意取几个数,使其和等于m,要求将其中所有的可能的组合列出来。
使用了STL 的list结构。具体代码如下:
#include<list> #include<iostream> using namespace std; list<int>list1; void find_factor(int sum, int n) { cout<<"传入的参数为:"<<sum<<" "<<n<<endl; // 递归出口 if(n <= 0 || sum <= 0) return; // 输出找到的结果 if(sum == n) { // 反转list list1.reverse(); for(list<int>::iterator iter = list1.begin(); iter != list1.end(); iter++) cout << *iter << " + "; cout << n << endl; list1.reverse(); } list1.push_front(n); for(list<int>::iterator iter = list1.begin(); iter != list1.end(); iter++) cout <<"插入后列表值为:"<< *iter << " "; find_factor(sum-n, n-1); //放n,n-1个数填满sum-ncout<<"递归1"<<endl; list1.pop_front(); find_factor(sum, n-1);//不放n,n-1个数填满sum cout<<"递归2"<<endl;} int main() { int sum, n; cout << "请输入你要等于多少的数值sum:" << endl; cin >> sum; cout << "请输入你要从1.....n数列中取值的n:" << endl; cin >> n; cout << "所有可能的序列,如下:" << endl; find_factor(sum,n); return 0; }2.求连续子数组的最大和问题
(1)既有负数又有正数
#include<iostream>using namespace std;int maxsum(int* a,int n){int sum=0;int b=0;for(int j=0;j<n;j++){if(b<0)b=a[j];elseb+=a[j];if(sum<b)sum=b;}return sum;}int main(){int a[10]={1,-2,10,4};cout<<maxsum(a,5)<<endl;return 0;}
(2)处理全部负数数组,返回最的负值
#include<iostream>using namespace std;#define n 4int maxsum(int a[n]){int max=a[0];int sum=0;for(int j=0;j<n;j++){if(sum>=0)sum+=a[j];elsesum=a[j];if(sum>max)max=sum;}return max;}int main(){int a[10]={-1,2,-3,-4};cout<<maxsum(a)<<endl;return 0;}
3.学习了亲合数问题(转自360百科)
在自然数220与284之间,有一种非常奇妙的关系,能够整除220的全部正整数(不包括220)之和1+2+4+5+10+20+11+22+55+110恰好等于284;而能够整除284=22×71的全部正整数(不包括284)之和1+2+4+71+142又恰好等于220。这是绝妙的吻合!数学上,具有这样特征的数叫“亲合数”。毕达哥拉斯发现的220与284,是人类认识的第一对亲合数,也是最小的一对亲和数。
4.学习了虚函数相关问题,讲的非常透彻
详细内容见:http://blog.csdn.net/v_july_v/article/details/6446364
0 0
- 算法笔记整理
- 日常整理算法笔记
- 算法学习笔记:排序算法整理
- [笔记整理]九章算法第一章
- 【数据结构】图论算法笔记整理
- 遗传算法笔记备忘录(整理版)
- 算法整理
- 算法整理
- 算法整理
- 算法整理
- 算法整理
- 机器学习整理笔记——k-近邻算法
- [机器学习]机器学习笔记整理07- KNN算法
- [机器学习]机器学习笔记整理10- 神经网络算法
- 贝叶斯信念网络简介以及算法整理笔记
- 整理笔记
- 笔记整理
- 整理笔记
- js或者jquery判断图片是否加载完成
- 动态单链表的实现
- iOS 高级内存管理:比较__unsafe_unretain、__strong、__weak、__autoreleasing
- 板级设备初始化
- NYOJ 88 汉诺塔(一)
- 算法笔记整理
- poj 1005 I Think I Need a Houseboat
- Cocoa Touch事件处理流程--响应者链
- xcode中使用ARC问题
- Java 随机数生成 Random
- Java 的封装、继承与多态的理解
- c++获取整型变量的最小/最大值
- Linux互斥锁、条件变量和信号量
- Android开源项目第一篇——个性化控件(View)篇