码迷,mamicode.com
首页 > 其他好文 > 详细

美团2016在线编程题 最大差(贪心)

时间:2016-07-22 23:08:28      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

题目描述

有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。

给定数组A及它的大小n,请返回最大差值。

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

思路:最大插差值dis初始化为0,用一个指针从头遍历,找到指针之前及指针指向的元素的最小值为被减数min1,若指针指向的元素A[i] - min1 > dis,则dis更新为 A[i] - min1.
 1 class LongestDistance {
 2 public:
 3     int getDis(vector<int> A, int n) {
 4         // write code here
 5         int dis = 0;//最大差值初始化为0
 6         int min1 = A[0];
 7         for(int i = 1; i < n; i++){
 8             min1 = std::min(min1, A[i]);
 9             dis = std::max(dis, A[i] - min1);
10         }
11         return dis;
12     }
13 };

 

美团2016在线编程题 最大差(贪心)

标签:

原文地址:http://www.cnblogs.com/qinduanyinghua/p/5697450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!