参考代码:
#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语言代码)浏览:333 |
兰顿蚂蚁 (C++代码)浏览:1091 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:738 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:603 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:517 |
【蟠桃记】 (C语言代码)浏览:664 |
WU-链表数据求和操作 (C++代码)浏览:1312 |
The 3n + 1 problem (C语言代码)浏览:548 |
愚蠢的摄影师 (C++代码)浏览:933 |
A+B for Input-Output Practice (C语言代码)浏览:458 |