首页 > 其他 > 详细

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

时间:2016-07-22 23:07:50      阅读:308      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!