【校招真题】2016 美团 最大差值

来源:互联网 发布:微扬网络 大写青春 编辑:程序博客网 时间:2024/05/22 00:36

【校招真题】2016 美团 最大差值

题目

题目描述:
有一个长为n的数组A,求满足0≤a≤b<n的的A[b]-A[a]的最大值。
给定数组A及它的大小n,请返回最大差值。

测试样例:
[10,5],2
返回:0

考查点

贪心

思路

计算 A[i] 与前 i 项中最小值的差,
也即是当前元素跟它之前元素中的最小值之差可能是结果,
扫描数组中的每一个元素,即可以计算出最终的结果。

程序

import java.util.*;public class LongestDistance {    public int getDis(int[] A, int n) {        // write code here        int dis = 0;  // 最大差值大于等于0        int min = A[0];  // 前 a 的最小值        // 计算 A[i] 与前 i 项中最小值的差        for (int i = 1; i < n; i ++){            if (A[i] - min > dis) dis = A[i] - min;            if (min > A[i]) min = A[i];        }        return dis;    }}
原创粉丝点击