参考代码:
#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个数中的最大不下降子序列的长度
点我有惊喜!你懂得!浏览:2754 |
点我有惊喜!你懂得!浏览:2114 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:551 |
C语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:694 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:606 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:636 |
Wu-求圆的面积 (C++代码)浏览:1994 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:597 |
【明明的随机数】 (C语言代码)浏览:845 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:699 |