左右最值最大差
2016-05-06 13:58
218 查看
问题描述:
给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?
给定整数数组A和数组的大小n,请返回题目所求的答案。
测试样例:
[2,7,3,1,1],5
返回:6
最优AC代码:
给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?
给定整数数组A和数组的大小n,请返回题目所求的答案。
测试样例:
[2,7,3,1,1],5
返回:6
最优AC代码:
class MaxGap { public: int findMaxGap(vector<int> A, int n) { // write code here if(n==0|| n==1) return 0; int max=A[0]; for(int i=1;i<n;i++) if(max<A[i]) max=A[i]; if(A[0]>A[n-1]) return max-A[n-1]; return max-A[0]; } };
相关文章推荐
- codeforces 350 div2 D Magic Powder - 2 二分
- NSTimer运行机制和线程问题
- Volley直接设置POST包体
- Android ListView封装类
- iOS面试之递归算法博主菜鸟历程第一卷
- module_platform_driver宏解析
- 最短排序
- cannot convert value of type cbbf 'String!' to expected argument type 'inout String'
- ubuntu14.04LTS安装docker
- Java开发必会的Linux命令
- Java druid的使用
- create windows service base on net.pipe ,windows 服务
- 选择恐惧症的福音!教你认清MVC,MVP和MVVM
- java 有用的东西
- JavaScript中的原型(prototype)和闭包(closure)(转)
- Android—自定义标题栏的实现及遇见的问题解决
- CentOS系统时间与现在时间相差8小时解决方法
- 169. Majority Element
- ListViewItem获取不到焦点
- 设计模式之简单工厂模式