九度OJ 1261:寻找峰值点 (基础题)
2015-11-14 17:15
399 查看
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:500
解决:37
题目描述:
给定一个整数序列,该整数序列存在着这几种可能:先递增后递减、先递减后递增、全递减、全递增。
请找出那个最大值的点。
输入:
输入的第一行包括一个整数N(1<=N<=10000)。
接下来的一行是N个满足题目描述条件的整数。
输出:
可能有多组测试数据,对于每组数据,
输出这N个数中最大的那个数。
样例输入:
样例输出:
思路:
遍历求最大值不就行吗?
结果WA。我认为判题有问题。
附上能AC的代码和我的代码。
代码1(能AC的代码):
代码2(我的代码):
内存限制:32 兆
特殊判题:否
提交:500
解决:37
题目描述:
给定一个整数序列,该整数序列存在着这几种可能:先递增后递减、先递减后递增、全递减、全递增。
请找出那个最大值的点。
输入:
输入的第一行包括一个整数N(1<=N<=10000)。
接下来的一行是N个满足题目描述条件的整数。
输出:
可能有多组测试数据,对于每组数据,
输出这N个数中最大的那个数。
样例输入:
5 1 2 3 2 1
样例输出:
3
思路:
遍历求最大值不就行吗?
结果WA。我认为判题有问题。
附上能AC的代码和我的代码。
代码1(能AC的代码):
#include<stdio.h> int num[11000]; int max(int x, int y) { return x>y ? x : y; } int TriSearch(int *num, int n, int left, int right) { int mid=0, midmid; while(left < right) { if(left+1 == right) return max(num[left],num[right]); mid = (left+right)/2; if(mid+1 == right) midmid = (mid+right)/2+1; else midmid = (mid+right)/2; if(midmid == right) return max(num[left], max(num[mid], num[right])); if(num[mid] >= num[midmid]) right = midmid; else left = mid; } return num[mid]; } int main() { int n; while(scanf("%d", &n) != EOF) { for(int i=0; i<n; i++) scanf("%d", &num[i]); int ans = TriSearch(num, n, 0, n-1); printf("%d\n", ans); } } /************************************************************** Problem: 1261 User: liangrx06 Language: C Result: Accepted Time:560 ms Memory:956 kb ****************************************************************/
代码2(我的代码):
#include <stdio.h> #define N 10000 int main(void) { int n, i, max; int a ; while (scanf("%d", &n) != EOF) {; for(i=0; i<n; i++) { scanf("%d", &a[i]); if (i == 0) max = a[0]; else if (a[i] > max) max = a[i]; } printf("%d\n", max); } return 0; } /************************************************************** Problem: 1261 User: liangrx06 Language: C Result: Wrong Answer ****************************************************************/
相关文章推荐
- 1936 哪一瓶是毒药?
- 功能测试内容
- Testing Round #12
- 深入学习微框架:Spring Boot
- c++中string类的详解
- 浅谈Thread和Runnable
- ubuntu sublime中文输入
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十三节:Shell编程入门(五)
- java文件IO操
- Struts2 学习系列 (6) 消息处理与国际化
- layout_width与layout_weight
- C++之string学习笔记(1)
- Android系统手机端抓包方法
- UI第四天 触摸 响应者链 target-action
- 隐式数据共享 深拷贝 浅拷贝
- javascript正则表达式
- HDU 2151 Worm(和树塔问题差不多)
- android内核编译及模拟器运行过程记录
- JAVA设计模式(22) —<行为型>中介者模式(Mediator)
- 使用dom4j来解析xml文件的基本操作