Leetcode每日一题:164.maximum-gap(最大间距)
程序员文章站
2024-03-09 13:58:17
...
思路:开始没看见下面的说明,直接一sort完事了;后来看见后无疑就想到了基数排序,只有计数排序和基数排序能在最坏的情况下达到线性时间复杂度,而基数排序无疑不满足线性空间复杂度,所以这里选择基数排序;
static bool cmp(int a, int b)
{
return a < b;
}
int maximumGap(vector<int> &nums)
{
int len = nums.size();
if (len < 2)
return 0;
sort(nums.begin(), nums.end(), cmp);
int res = 0;
for (int i = 1; i < len; i++)
{
int temp = nums[i] - nums[i - 1];
if (temp > res)
res = temp;
}
return res;
}
基数排序等十大排序算法实现可查看我的这篇文章:
Algorithm:十大经典排序算法C++实现及总结
上一篇: Java编程中字节流与字符流IO操作示例
推荐阅读
-
Leetcode每日一题:164.maximum-gap(最大间距)
-
0519leetcode每日一题(c++)——680. 验证回文字符串 Ⅱ
-
【leetcode】每日一题(258 各位相加)
-
【leetcode】每日一题(9 回文数)
-
【Leetcode】1310. 子数组异或查询【每日一题系列20210512】
-
【LeetCode每日一题】[简单]976. 三角形的最大周长
-
Leetcode每日一题:976.largest-perimeter-triangle(三角形的最大周长)
-
【Leetcode每日笔记】剑指 Offer 47. 礼物的最大价值(Python)
-
【Leetcode 每日一题】842. 将数组拆分成斐波那契序列(DFS)
-
leetcode每日一题—842.将数组拆分成斐波那契数列