首页 > 其他 > 详细

164. Maximum Gap

时间:2020-04-01 23:02:59      阅读:86      评论:0      收藏:0      [点我收藏+]

Problem:

Given an unsorted array, find the maximum difference between the successive elements in its sorted form.

Return 0 if the array contains less than 2 elements.

Example 1:

Input: [3,6,9,1]
Output: 3
Explanation: The sorted form of the array is [1,3,6,9], either
             (3,6) or (6,9) has the maximum difference 3.

Example 2:

Input: [10]
Output: 0
Explanation: The array contains less than 2 elements, therefore return 0.

Note:

  • You may assume all elements in the array are non-negative integers and fit in the 32-bit signed integer range.
  • Try to solve it in linear time/space.

思路

Solution (C++):

int maximumGap(vector<int>& nums) {
    int n = nums.size(), diff = 0;
    if (n < 2)  return 0;
    sort(nums.begin(), nums.end());
    for (int i = 1; i < n; ++i) {
        diff = max(diff, nums[i]-nums[i-1]);
    }
    return diff;
}

性能

Runtime: 8 ms??Memory Usage: 7 MB

思路

Solution (C++):


性能

Runtime: ms??Memory Usage: MB

164. Maximum Gap

原文:https://www.cnblogs.com/dysjtu1995/p/12616490.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!