zoukankan      html  css  js  c++  java
  • 164. Maximum Gap

    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

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Linux 常用命令
    去除重叠区间
    Python 小工具之大文件去重
    有趣的pyfiglet
    杨辉三角
    Paginator分页
    Linux用户和用户组
    Grub介绍
    Linux系统运行级别
    Linux系统启动流程
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12616490.html
Copyright © 2011-2022 走看看