1437: 王小二的求值问题

时间限制: 1 Sec 内存限制: 128 MB

提交: 141 解决: 31 统计

题目描述

题意超级简单,求一个序列的次大值。

输入

多组输入,每个测试实例占两行,包括一个整数n (1<n<1000000),接下来一行是n个int范围内的整数,求次大值;

输出

对于每个测试实例,输出序列的次大值,每个输出占一行。

样例输入

5
1 2 3 4 5

样例输出

4

方法一:冒泡排序。因为是求次大值,所以不需要排除所有数的大小,否则会超时。

方法二:用两个变量记录最大值和次大值。

注意!!!!!是多组输入(忽略了这句话错了一下午) 

方法一AC代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
int a[maxn];
int main()
{
int n,i,j;
while(cin>>n&&n!=EOF)
{
for(i=0;i<n;i++) cin>>a[i];
for(i=0;i<3;i++)
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
int t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
cout<<a[n-2]<<endl;
}
return 0;
}

方法二AC代码:

#include<bits/stdc++.h>
using namespace std;
int a[1000000+10];
int main()
{
int n,max1,max2;
while(cin>>n&&n!=EOF)
{
for(int i=0;i<n;i++) cin>>a[i];
max1=a[0];
max2=INT_MIN;
for(int i=1;i<n;i++)
{
if(max1<a[i])
{
int t=a[i];
a[i]=max1;
max1=t;
if(max2<a[i]) max2=a[i];
}
else if(max1>=a[i])
{
if(max2<a[i]) max2=a[i];
}
}
cout<<max2<<endl;
} return 0;
}

方法三AC代码(sort):

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
int a[maxn];
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,i;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++) scanf("%d",&a[i]);
sort(a,a+n,cmp);
printf("%d\n",a[1]);
}
return 0;
}

HPU 1437: 王小二的求值问题的更多相关文章

  1. 延迟求值-如何让Lo-Dash再提速x100?

    「注释」作者在本文里没有说明这么一个事实: 目前的版本Lo-Dash v2.4.1并没有引入延迟求值的特性,Lo-Dash 3.0.0-pre中部分方法进行了引入,比如filter(),map(),r ...

  2. python迭代器实现斐波拉契求值

    斐波那契数列(Fibonacci sequence),又称黄金分割数列,也称为"兔子数列":F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*).例 ...

  3. 表达式求值(noip2015等价表达式)

    题目大意 给一个含字母a的表达式,求n个选项中表达式跟一开始那个等价的有哪些 做法 模拟一个多项式显然难以实现那么我们高兴的找一些素数代入表达式,再随便找一个素数做模表达式求值优先级表 - ( ) + ...

  4. Java 计算数学表达式(字符串解析求值工具)

    Java字符串转换成算术表达式计算并输出结果,通过这个工具可以直接对字符串形式的算术表达式进行运算,并且使用非常简单. 这个工具中包含两个类 Calculator 和 ArithHelper Calc ...

  5. 诡异的C语言实参求值顺序

    学了这么久的C语言,竟然第一次碰到这么诡异的实参求值顺序问题,大跌眼镜.果然阅读面太少了! #include<iostream> void foo(int a, int b, int c) ...

  6. 用Python3实现表达式求值

    一.题目描述 请用 python3 编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描 ...

  7. [C] 关于表达式求值

    结论是:在一个表达式中,如果两个相邻操作符的执行顺序由它们的优先级决定,如果它们的优先级相同,它们的执行顺序由它们的结合性决定.若出现前述规则描述之外的情形,编译器可以自由决定求值的顺序(只要不违反逗 ...

  8. 左求值表达式,堆栈,调试陷阱与ORM查询语言的设计

    1,表达式的求值顺序与堆栈结构 “表达式” 是程序语言一个很重要的术语,也是大家天天写的程序中很常见的东西,但是表达式的求值顺序一定是从左到右么? C/C++语言中没有明确规定表达式的运算顺序(从左到 ...

  9. 数据结构算法C语言实现(八)--- 3.2栈的应用举例:迷宫求解与表达式求值

    一.简介 迷宫求解:类似图的DFS.具体的算法思路可以参考书上的50.51页,不过书上只说了粗略的算法,实现起来还是有很多细节需要注意.大多数只是给了个抽象的名字,甚至参数类型,返回值也没说的很清楚, ...

随机推荐

  1. jq expando && $.data()

    1.使用隐藏控件或者是js全局变量来临时存储数据,全局变量容易导致命名污染,隐藏控件导致经常读写dom浪费性能 jQuery提供了自己的数据缓存方案,使用jQuery数据缓存方案,我们需要掌握$.da ...

  2. Cocoapods 报警告Automatically assigning platform ios with version 9.0 on target....

    Automatically assigning platform iOS with version 9.0 on target 你的工程名称 because no platform was speci ...

  3. Spring AMQP 源码分析 04 - MessageListener

    ### 准备 ## 目标 了解 Spring AMQP 如何实现异步消息投递(推模式) ## 前置知识 <RabbitMQ入门_05_多线程消费同一队列> ## 相关资源 Quick To ...

  4. Eclipse 中 SDK无法更新---解决方法

    在SDK Manager -> tools -> options中: HTTP Proxy Server: mirrors.neusoft.edu.cn HTTP Proxy Port: ...

  5. C#退出模式

    1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit();  强制所有消息中 ...

  6. English trip -- Phonics 3 元音字母e

    xu言: 额...今天给我上自然拼读的maple老师 - . -和上次给我上第二集自然拼读的是同一个老师.突然考了考我上次学的内容~感觉大脑一片空白.看来review不能光说而不下苦功夫啊... 元音 ...

  7. IntelliJ IDEA 阿里巴巴编码插件

    良好的编码习惯的从这个IDEA插件开始  这是根据阿里巴JAVA开发规范.PDF 开发的代码提示插件 具体提示如下   这里可以扫描你项目下不规范的代码 如果侧插件CPU太卡的话也可以点击右边的 ...

  8. 20170503xlVBA房地产数据分类连接

    Sub NextSeven_CodeFrame4() Application.ScreenUpdating = False Application.DisplayAlerts = False Appl ...

  9. FastDFS install - 2

    storage install nginx 1. update dependency package yum -y install pcre-devel openssl openssl-devel g ...

  10. 用Maven构建Mahout项目

    转载请注明出处:http://blog.fens.me/hadoop-mahout-maven-eclipse/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, ...