LeetCode:164. Maximum Gap

这道题比较简单,虽然不知道为什么被贴上了困难的标签~

贴上题目:

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.

中文翻译:

现在有一个无序数组,找出数组在排序后,相邻元素差值的最大值

如果元素个数少于两个,就返回0.

emmmmm~

思路很暴力:排序,求差值。

上代码:

 1 class Solution {
 2 public:
 3     int maximumGap(vector<int>& nums) {
 4         if(nums.size()<2)
 5             return 0;
 6         sort(nums.begin(), nums.end());
 7         vector<long long int>list;
 8         for(int i=1; i<nums.size(); i++){
 9             list.push_back(nums[i]-nums[i-1]);
10         }
11         sort(list.begin(), list.end());
12         return list[list.size()-1];
13     }
14 };

AC,击败88%的代码。

原文地址:https://www.cnblogs.com/Scotton-Wild/p/10230663.html

时间: 2024-10-11 12:09:37

LeetCode:164. Maximum Gap的相关文章

No.164 Maximum Gap

No.164 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

164. Maximum Gap

/* * 164. Maximum Gap * 2016-6-4 by Mingyang * 这个题目首先要求的是linear的时间,所以我个人的预测就是bucketsort * bucketsort就是把一个list分成几个bucket再分别把每一个桶排序,再合起来 * 比如我现在有10个如果selection sort就是100的时间复杂度,那么需要分成两个5 * 就是两个25相加,就是50 * 假设有N个元素A到B. * 那么最大差值不会小于ceiling[(B - A) / (N - 1

leetcode 164:Maximum Gap

题意: 给定非排序数组,找出其排序后相邻元素的最大差值. 线性时间空间.元素数少于2时返回0.元素值非负且int范围内. 思路: 排序最快nlogn不符合要求: 参考网上,学习了桶排序的方法: 桶排序:按值分段处理: 设定桶大小和桶个数: 因为ans>=(MAX-MIN)/(len-1): 桶大小:(MAX-MIN)/(len-1)向上取整,(注意为0时取1) 桶个数:(MAX-MIN)/桶大小+1: ans取值只可能是桶A的最小值-桶B的最大值形式:不会在桶内取:(因为桶内最大差值小于桶大小)

LeetCode 164. Maximum Gap (排序)

题目 题意:就是给你一个数组,让你输出排好序后,相邻元素差值最大的那个差值. 题解:首先,当然我们可以用快排,排完序之后,遍历一遍数组,就能得到答案了.但是快速排序的效率是O(n* logn),不是题目要求的线性效率,也就是O(n)的效率. 那么诸多排序算法中,也是由线性效率的排序算法,当然这些算法的目标是线性效率,而在实际情况中的效率也并不是最快的.首先就是基数排序,基数排序的效率是O(n*k), k 是由元素的位数决定的. 线性时间的排序还有一个桶排序,桶排序,一开始选择一些桶,每个桶代表一

LeetCode 笔记28 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-negat

[leedcode 164] 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-negat

164. Maximum Gap(js)

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值. 如果数组元素个数小于 2,则返回 0. 示例 1: 输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3.示例 2: 输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0.说明: 你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内.请尝试在线性时间复杂度和空间复杂度的条件下解决此问题. Given a

【leetcode 桶排序】Maximum Gap

1.题目 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-

LeetCode – Refresh – Maximum Gap

Sorting solution O(nlogn): 1 class Solution { 2 public: 3 int maximumGap(vector<int> &num) { 4 int len = num.size(), result = 0; 5 if (len < 2) return 0; 6 sort(num.begin(), num.end()); 7 for (int i = 0; i < len-1; i++){ 8 result = max(res