本题是肯定是需要使用排序方法才能得到答案,但有什么好的方法能在O(N)的时间要求里排好序呢?基数排序满足题目要求,其能在O(N)的时间复杂度和空间复杂度里对整数数组进行排序。
原创 2024-07-08 10:38:37
21阅读
给定一个无序的数组 nums,返回 数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法。
原创 2024-06-05 09:57:37
21阅读
链接 给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。 class Solution { private int getBucketIndex(int min, int max, int size, int val) { return (int ...
转载 2021-10-15 00:01:00
60阅读
2评论
题目:原题链接(困难) 标签:排序、基数排序
原创 2022-02-23 18:19:25
70阅读
164. 最大间距给定一个无序的数组,找出数...
原创 2021-07-13 17:28:07
119阅读
...
原创 2021-07-13 17:28:08
169阅读
...
原创 2021-07-13 17:28:08
59阅读
题目:原题链接(困难)标签:排序、基数排序解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(KN)O(KN)O(KN)O(N)O(N)O(N)52ms (58.01%)Ans 2 (Python)Ans 3 (Python)解法一:class Solution: def maximumGap(self, nums: List[int]) -> int: if len(nums) < 2:
原创 2021-08-26 10:33:10
42阅读
LeetCode-164. 最大间距,java带你解题。
原创 2023-08-21 15:36:54
178阅读
1点赞
LeetCode刷题实战164:最大间距
转载 2021-06-29 10:20:43
215阅读
一、题目描述给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。示例 1: 输入: [3,6,9,1] 输出: 3 解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2: 输入: [10] 输出: 0 解释: 数组元素个数小于 2,因此返回 0。说明: 你可以假设数组中所有元素都
原创 2022-01-14 18:13:49
209阅读
一、题目描述给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。请尝试在线性时间复杂度和空间复杂度的条件下解决..
原创 2021-10-19 09:39:34
188阅读
问题描述:给定一个无序的数组,找出数组在排序之后,相邻元素之间最
给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元...
原创 2021-09-03 16:16:42
323阅读
文章目录题目题目描述题解分析代码题目164. 最大间距难度:困难题目描述给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元素都是非负整数,且
原创 2021-09-01 14:59:13
123阅读
给定一个无序的数组,找出数组在排序后相邻的元素之间最大的差值。尽量尝试在线性时间和空间复杂度情况下解决此问题。若数组元素个数少于2,则返回0。假定所有的元素都是非负整数且范围在32位有符号整数范围内。 详见:https://leetcode.com/problems/maximum-gap/desc
转载 2018-04-06 18:23:00
55阅读
2评论
class Solution { public int maximumGap(int[] nums) { if(nums.length <2) return 0; else{ Arrays.sort(nums); int array[] = new int[nums.length-1]; for(i
原创 2022-06-01 09:19:42
84阅读
思路:开始没看见下面的说明,直接一sort完事了;后来看见后无疑就想到了基数排序,只有计数排序和基数排序能在最坏的情况下达到线性时间复杂度,而基数排序无疑不满足线性空间复杂度,所以这里选择基数排序;static bool cmp(int a, int b){ return a < b;}int maximumGap(vector<int> &nums){ int len = nums.size(); if (len < 2) .
原创 2021-12-30 09:40:25
197阅读
题目:给定一个无序的数组 nums,返回 数组在排序之后,相邻元素之间最大的差值 。如果数组元素个数小于 2,则返回 0 。您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法。 示例 1:输入: nums = [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例&n
原创 2023-07-14 23:57:11
65阅读
Leetcode每日一题题目链接: 164. 最大间距难度: 困难解题思路: 由于要在线性时间复杂度内完成排序,所以可以使用桶排序。但是由于整个数据集在32位整数之内,所以对整个数据集进行分块。共分成 len(nums) 个分块(分块策略可以自定)。若相邻两个数之间有空的分块(未分配数据),那么它的间距一定大于分块内的间距;若无空的分块,那么他的分块大小为1;所以不用考虑分块内的间距。最后只计算分块间的间距大小即可。题解:class Solution: def maximumGap(sel
原创 2021-08-31 13:37:43
153阅读
  • 1
  • 2
  • 3
  • 4
  • 5