Skip to content

Commit 235d650

Browse files
authored
Create LeetCode_1482_MinimumNumberofDaystoMakemBouquets.java
1 parent ae3737f commit 235d650

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class Solution {
2+
public int minDays(int[] bloomDay, int m, int k) {
3+
if ((long) m * k > bloomDay.length) return -1;
4+
5+
int left = Integer.MAX_VALUE;
6+
int right = Integer.MIN_VALUE;
7+
8+
for (int day : bloomDay) {
9+
left = Math.min(left, day);
10+
right = Math.max(right, day);
11+
}
12+
13+
while (left < right) {
14+
int mid = left + (right - left) / 2;
15+
16+
int fCount = 0;
17+
int bCount = 0;
18+
19+
for (int day : bloomDay) {
20+
if (day <= mid) fCount++;
21+
else fCount = 0;
22+
23+
if (fCount == k) {
24+
fCount = 0;
25+
bCount++;
26+
}
27+
}
28+
29+
if (bCount >= m) {
30+
right = mid;
31+
} else {
32+
left = mid + 1;
33+
}
34+
}
35+
36+
return left;
37+
}
38+
}

0 commit comments

Comments
 (0)