首页 > 代码库 > 删除有序数组的重复元素and爬楼梯and股票买入的最佳时期
删除有序数组的重复元素and爬楼梯and股票买入的最佳时期
---------1-----------
#include "stdafx.h" #include"iostream" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[10]={1,4,4,5,6,7,7,8,9,10}; int i=0; int j=0; for(i=0;i<10;i++) { if(a[i]==-1) { break; } if(a[i]==a[i+1]) { j++; for(int k=i;k<=10-j;k++) { a[k]=a[k+1]; a[11-j]=-1; } i--; } } for(int i=0;i<10-j;i++) { cout<<a[i]; cout<<","; if(a[i]==-1) { break; } } cout<<endl<<10-j; return 0; } //注意点:数组不像链表,可以自动删除内存空间,也不会自己赋值为零;所以赋一个特殊值方便判断即可; //有可能会有多个重复值出现,在循环中利i--使其回到两比较元素中的后一位,而不是将后面两位进行比较;
-----------2--------------
#include "stdafx.h" #include"iostream" using namespace std; int f(int n) { if(n==1) { return 1; } else if(n==2) { return 2; } else { return f(n-1)+f(n-2); } } int _tmain(int argc, _TCHAR* argv[]) { int n; cin>>n; f(n); cout<<"所走的方式:"; cout<<f(n); return 0; }
--------3----------
#include "stdafx.h" #include"iostream" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[10]={10,3,9,5,3,2,5,7,9,1}; int interest=0; int n=0; for(int i=1;i<10;i++) { for(int j=0;j<9;j++) { if(j+i>=10) { break; } n=a[i+j]-a[j]; if(n>interest) { interest=n; } } } cout<<"最大利润:"; cout<<interest; return 0;
删除有序数组的重复元素and爬楼梯and股票买入的最佳时期
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。