携程机考第四题

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author xiaoxu
 * @create 2022-08-30 20:05
 */
public class Main1 {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n=Integer.parseInt(reader.readLine());
        String[] line = reader.readLine().split(" ");
        reader.close();
        int[] num=new int[n];
        for (int i = 0; i <n ; i++) {
            num[i]=Integer.parseInt(line[i]);
        }
        int max1=0,max2=0;
        int index=0;
        for(int i=1;i<n;i++){
            int temp = Math.abs(num[i] - num[i - 1]);
            if(temp>max1){
                max2=max1;
                max1=temp;
                index=i-1;
            }else{
                max2=Math.max(max2,temp);
            }
        }
        if(index==0||index==n-1){
            System.out.println(max2);
        }else{
            int a=num[index];
            int res1=0,res2=0;
            num[index]=Math.abs(num[index+1]-num[index-1])/2+num[index-1];
            for (int i = 1; i <n ; i++) {
                res1=Math.max(res1,Math.abs(num[i]-num[i-1]));
            }
            num[index]=a;
            if(index+1!=n-1){
                num[index+1]=Math.abs(num[index+2]-num[index])/2+num[index];
                for (int i = 1; i <n ; i++) {
                    res2=Math.max(res2,Math.abs(num[i]-num[i-1]));
                }
            }else{
                res2=Integer.MAX_VALUE;
            }

            System.out.println(Math.min(res1,res2));
        }
    }


}

全部评论
我当时都没有实现出来😭
点赞 回复 分享
发布于 2022-08-31 13:55 陕西

相关推荐

抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务