参考代码:
#include <iostream> #include <algorithm> using namespace std; int main() { //freopen("data.in.txt","r",stdin); //freopen("data.out.txt","w",stdout); int n; cin >> n; int *a = new int [n]; int *b = new int [n]; //开辟两个动态数组 for(int i = 0; i < n; i++) { cin >> a[i]; b[i]=1;//b[i]表示前i+1个数中的最大不下降子序列的长度 初始值为1 } for(int i = 0; i < n; i++) { for(int j = 0; j < i; j++) { if(a[i] >=a[j]) //如果a[i]大于等于a[j],那么最大不下降子序列的长度就会+1 b[i] = max(b[i], b[j]+1); //我们取较大的那个 } } sort(b,b+n);//对数组进行排序 cout<<b[n-1]<<endl;//输出最大值 return 0; }
0.0分
13 人评分
#include<iostream> using namespace std; int main() { int num; int count=0; int array[1000]={}; cout<<"请输入总次数"<<endl; cin>>num; cout<<"请输入美味度"<<endl; for(int i=0;i<num;i++){ cin>>array[i]; } for(int i=0;i<num;i++){ if(array[i]<array[i+1]){ count++; } } cout<<count<<endl; return 0; } 自己的VS上面正确,这里为啥不对了
初始值为:1 原因是吃第一个小吃 爽度从零到一。 另外 第十行那个备注是否应该改为: //b[i]是相对于a[i]的前i+1个数中的最大不下降子序列的长度
妹子杀手的故事 (C语言代码)浏览:679 |
简单的a+b (C语言代码)浏览:537 |
A+B for Input-Output Practice (VI) (C++代码)浏览:413 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:575 |
校门外的树 (C语言代码)浏览:956 |
水仙花 (C语言代码)浏览:1045 |
1014题解浏览:484 |
Hello, world! (C语言代码)浏览:714 |
The 3n + 1 problem (C语言代码)浏览:501 |
矩形面积交 (C语言代码)浏览:1293 |