zoukankan      html  css  js  c++  java
  • [蘑菇街]最大间隔

    时间限制:1秒 空间限制:32768K 热度指数:9268
    本题知识点: 贪心

    题目描述

    给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 - ai }(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?

    输入描述:
    第一行,一个正整数n(1<=n<=100),序列长度;接下来n个小于1000的正整数,表示一个递增序列。
    输出描述:
    输出答案。

    输入例子:
    5
    1 2 3 7 8

    输出例子:
    4
     1 #include <iostream>  
     2 #include <vector>  
     3 #include <algorithm>  
     4   
     5 using namespace::std ;  
     6 
     7 int main()
     8     {
     9        int n;
    10        vector<int> v;
    11     
    12        while(cin>>n)
    13            {
    14               int temp;
    15               for(int i=0;i<n;++i)
    16                   {
    17                       cin>>temp;
    18                       v.push_back(temp);
    19                   
    20               }
    21               int max_v=0;
    22               int min_v=9999;
    23               for (int i=0; i< n-1;++i) 
    24                     {  
    25                        max_v=max(max_v,v[i+1]-v[i]);  
    26               }  
    27               for(int i=1;i<n-1;++i) 
    28                    {  
    29                        min_v=min(min_v,v[i+1]-v[i-1]);  
    30               }
    31              int res=max_v>min_v?max_v:min_v;
    32              cout<<res<<endl;
    33            
    34        }
    35     return 0;
    36 }
  • 相关阅读:
    SpringMVC听课笔记(一:SpringMVC概述)
    IDEA快捷键
    Java学习方法以及eclipse看jdk源码
    SpringMVC参数绑定
    正向代理、反向代理
    代理模式
    面试准备
    一致性哈希
    synchronized的底层探索
    哈夫曼编码
  • 原文地址:https://www.cnblogs.com/bxyan/p/6952887.html
Copyright © 2011-2022 走看看