codeup1081 求最大最小数

#include<cstdio>
int main() {
	int N, Max, Min, x;
	while (scanf("%d", &N) != EOF) {
		Max = -10000000, Min = 10000000;
		while (N--) {
			scanf("%d", &x);
			if (Max<x) Max = x;//写法很好,看看人家的
			if (Min>x) Min = x;
		}
		printf("%d %d\n", Max, Min);
	}
}
时间: 2024-10-23 05:15:23

codeup1081 求最大最小数的相关文章

求最大最小数

``` /*题目描述 输入N个(N<=10000)数字,求出这N个数字中的最大值和最小值.每个数字的绝对值不大于1000000. 输入描述: 输入包括多组测试用例,每组测试用例由一个整数N开头,接下去一行给出N个整数. 输出描述: 输出包括两个整数,为给定N个数中的最大值与最小值.*/ #include <iostream>using namespace std;int main() { int N; while(cin >> N) { int max = -1000000,

分治法求最大数最小数问题

package com.trfizeng.fenzhifa; /** * * @author trfizeng * 思想:就是把复杂问题简单化,将一个大问题分割成许多小问题,再分别解出决对应的小问题的集合就是大问题的解 * */ public class MaxAndMin { public static void main(String[] args) { int[] Array = { -18, -16, 9, -5, 7, -40, 0, 35 ,-2 }; System.out.prin

Algorithm --&gt; n位数去掉k位后找最小数

去掉K位求取最小数 一个n位的数,去掉其中的k位,怎样使留下来的(n-k)位数按原来的前后顺序组成的数最小 例如 8314925去掉4个数,留下125最小,注意有前后顺序要求,要是没有顺序当然是123. 解决方案 贪心算法,在每次被访问的位置保证有最优解. 思路一 分析:求一共n位,求其中的m位组成的数最小.那么这个m位的数,最高位应该在原数的最高位到第m位区间找,要不然就不能当第m位了,如下图(得到3位数最小,要是百位数在25中找,就当不了百位数了): 同样找十位数时只能在百味数到目前位置中间

Java从零开始学二十九(大数操作(BigIntger、BigDecimal)

一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型).BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法.另外,BigInteger 还提供以下运算:模算术.GCD 计算.质数测试.素数生成.位操作以及一

【坐在马桶上看算法】算法11:堆——神奇的优先队列(上)

堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样. 有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节).符合这样特点的完全二叉树我们称为最小堆.反之,如果所有父结点都比子结点要大,这样的完全二叉树称为最大堆.那这一特性究竟有什么用呢? 假如有14个数分别是99.5.36.7.22.17.46.12.2.19.25.28.1和92.请找出这14个数中最小的数,请问怎么办呢?最简单的方法就是将这14个数从头到尾

中国剩余定理学习笔记

先看一道poj上的题目:[poj1006] Biorhythms 题意: 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天.一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好.通常这三个周期的峰值不会是同一天.现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期.然后再给出一个起始日期,要求从这一天开始,算出最少再过多少天后三个峰值同时出现. 分析: 首先我们要知道,任意两个峰值之间一定相距整数倍的周期.假设一年的第N天达到峰值,则下次达到峰值

hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)

1.题目大意是,给你一个1000位的数,要你删掉m个为,求结果最小数. 思路:在n个位里面删除m个位,也就是找出n-m个位组成最小数 所以在区间 [0, m]里面找最小的数,对应的下标标号i 接着找区间 [i+1,m++]里面的最小数,对于下标为ii 接着找区间 [ii+1,m++]里面的最小数-- 这样就会找n-m个数了.区间这样安排的目的是为了保证取出来的数的顺序. 2代码: #include<cstdio> #include<cstring> #include<cmat

JAVA基础学习笔记_四种排序方法

默认从小到大排序 ①快速法排序 第一轮:第一个数依次与后面的数比较,若第一个数较大,则两数互换位置,即最小的数被放在了第一位 for(i=0;i<a.length-1;i++) //控制比较轮次 for(j=i+1;j<a.length;j++) //总是与其后面的数依次比较 if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } ②选择法排序 第一轮:1-n数,求出最小数,然后与第一个数互换位置 for(i=0;i<a.length-1;i++)

华为机试—介绍、剖析、建议

一.华为机试介绍 1.大致介绍 时间:120分钟 环境:Visual Studio(去年是vs2005).Visual C++.VC 6.0.Eclipse(Java) 题量:共3题 初级题--60分--3组测试数据 中级题--100分--5组测试数据 高级题--160分--8组测试数据 注:初级题和中级题为必答题,高级题为附加题. 提交次数:每题最多5次 评判方式:按通过测试数据组数给分,每通过一组得20分 2.考试说明 这里有一个老版的机试考试说明,供大家参考: C/C++,JAVA机试流程