标签:style blog http io ar color sp for strong
Maximum Gap
Given an unsorted array, find the maximum difference between the successive elements in its sorted form.
Try to solve it in linear time/space.
Return 0 if the array contains less than 2 elements.
You may assume all elements in the array are non-negative integers and fit in the 32-bit signed integer range.
Credits:
Special thanks to @porker2008 for adding this problem and creating all test cases.
解法一:
先排序O(nlogn),再一次遍历,得到maxGap
虽然不满足O(n)的时间要求,但是最直观的想法。
class Solution { public: int maximumGap(vector<int> &num) { if(num.empty() || num.size() < 2) return 0; sort(num.begin(), num.end()); int maxGap = num[1]-num[0]; for(int i = 2; i < num.size(); i ++) { int curGap = num[i]-num[i-1]; maxGap = (maxGap>=curGap)?maxGap:curGap; } return maxGap; } };
标签:style blog http io ar color sp for strong
原文地址:http://www.cnblogs.com/ganganloveu/p/4162290.html