zoukankan      html  css  js  c++  java
  • CCF NOI1023 最大跨度

    问题链接CCF NOI1023 最大跨度




    时间限制: 1000 ms  空间限制: 262144 KB

    题目描述

      给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。

    输入

      输入一共两行,第1行为序列的个数n(1≤n≤1000),第2行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。

    输出

      输出最大跨度值。

    样例输入

    6

    3 0 8 7 5 9

    样例输出

    9

    数据范围限制

      1≤n≤1000



    问题分析

      这个问题的关键是从输入序列中找出最大值和最小值。

    程序说明

      程序中,为了节省空间,没有定义数组变量。

    要点详解
    • 玩程序玩的就是时间与空间,如果可以不用数组的话,就应该不用,以节省空间。
    • 求最大值时,其初始值设为相关类型的最小值;求最小值时,其初始值设为相关类型的最大值。
    • 用逻辑运算和移位运算计算最大整数。



    100分通过的C语言程序:

    #include <stdio.h>
    
    #define MIN_INT ~(unsigned int)0 >> 1;
    
    int main(void)
    {
        int n, val, max, min, i;
    
        scanf("%d", &n);
        max = 0;
        min = MIN_INT;
        for(i=1; i<=n; i++) {
            scanf("%d", &val);
            if(val > max)
                max = val;
            if(val < min)
                min = val;
        }
    
        printf("%d
    ", max - min);
    
        return 0;
    }



  • 相关阅读:
    序列化二叉树
    按之字形顺序打印二叉树
    C#读写文件的方法汇总_C#教程_脚本之家
    c#缓存介绍(转)
    ASP.NET 缓存技术分析
    pickle使用
    python3.4使用文件
    io的常用操作
    manven需要注意点几点
    git中一些常用的命令
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563921.html
Copyright © 2011-2022 走看看