删除有序数组的重复元素and爬楼梯and股票买入的最佳时期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除有序数组的重复元素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股票买入的最佳时期的主要内容,如果未能解决你的问题,请参考以下文章
Best Time to Buy and Sell Stock
121 Best Time to Buy and Sell Stock 买卖股票的最佳时机