FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
leetcode/maximumgap.java at master · wpande/leetcode · GitHub
wpande
leetcode
Repository navigation
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
leetcode
/
maximumgap.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
30 lines (30 loc) · 954 Bytes
Breadcrumbs
leetcode
/
maximumgap.java
Copy path
File metadata and controls
30 lines (30 loc) · 954 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public
class
Solution
{
public
int
maximumGap
(
int
[]
nums
) {
int
len
=
nums
.
length
;
if
(
len
<
2
)
return
0
;
int
max
=
nums
[
0
];
int
min
=
max
;
for
(
int
i
=
1
;
i
<
len
;
i
++){
max
=
nums
[
i
]>
max
?
nums
[
i
]:
max
;
min
=
nums
[
i
]<
min
?
nums
[
i
]:
min
;
}
int
range
=
max
-
min
+
1
;
int
bucketlen
=
range
/
len
+
1
;
int
[][]
bucket
=
new
int
[
len
][
2
];
for
(
int
i
=
0
;
i
<
len
;
i
++){
int
idx
=(
nums
[
i
]-
min
)/
bucketlen
;
bucket
[
idx
][
0
]=
bucket
[
idx
][
0
]==
0
?
nums
[
i
]:
Math
.
min
(
bucket
[
idx
][
0
],
nums
[
i
]);
bucket
[
idx
][
1
]=
Math
.
max
(
bucket
[
idx
][
1
],
nums
[
i
]);
}
int
res
=
0
;
int
prior
=
bucket
[
0
][
1
];
//min exists no need to check !=0 as the next two lines
for
(
int
i
=
1
;
i
<
len
;
i
++){
if
(
bucket
[
i
][
0
]!=
0
){
res
=
Math
.
max
(
res
,
bucket
[
i
][
0
]-
prior
);
prior
=
bucket
[
i
][
1
];
}
}
return
res
;
}
}
Back
|
FazBrowse Home
|
New Git URL