网站强制使用极速模式做彩票生意要登陆哪个网站
web/
2025/10/8 21:14:48/
文章来源:
网站强制使用极速模式,做彩票生意要登陆哪个网站,巴中公司网站建设,常用来做网站的首页给你一个整数数组 bloomDay#xff0c;以及两个整数 m 和 k 。
现需要制作 m 束花。制作花束时#xff0c;需要使用花园中 相邻的 k 朵花 。
花园中有 n 朵花#xff0c;第 i 朵花会在 bloomDay[i] 时盛开#xff0c;恰好 可以用于 一束 花中。
请你返回从花园中摘 m 束…给你一个整数数组 bloomDay以及两个整数 m 和 k 。
现需要制作 m 束花。制作花束时需要使用花园中 相邻的 k 朵花 。
花园中有 n 朵花第 i 朵花会在 bloomDay[i] 时盛开恰好 可以用于 一束 花中。
请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。
示例 1
输入bloomDay [1,10,3,10,2], m 3, k 1 输出3 解释让我们一起观察这三天的花开过程x 表示花开而 _ 表示花还未开。 现在需要制作 3 束花每束只需要 1 朵。 1 天后[x, _, _, _, _] // 只能制作 1 束花 2 天后[x, _, _, _, x] // 只能制作 2 束花 3 天后[x, _, x, _, x] // 可以制作 3 束花答案为 3 示例 2
输入bloomDay [1,10,3,10,2], m 3, k 2 输出-1 解释要制作 3 束花每束需要 2 朵花也就是一共需要 6 朵花。而花园中只有 5 朵花无法满足制作要求返回 -1 。 示例 3
输入bloomDay [7,7,7,7,12,7,7], m 2, k 3 输出12 解释要制作 2 束花每束需要 3 朵。 花园在 7 天后和 12 天后的情况如下 7 天后[x, x, x, x, _, x, x] 可以用前 3 朵盛开的花制作第一束花。但不能使用后 3 朵盛开的花因为它们不相邻。 12 天后[x, x, x, x, x, x, x] 显然我们可以用不同的方式制作两束花。
解题思路
使用二分查找查找出满足情况的最小日期 检查是否满足条件遍历数组如果开花日期是在限制日期前就作为有效的花朵连续的k朵花可作为一个有效花束检查可以生产花束的个数是否多于m
代码
func minDays(bloomDay []int, m int, k int) int {n:len(bloomDay)if nm*k{return -1}max:-1for _, day : range bloomDay {if daymax{maxday}}return sort.Search(max, func(days int) bool {cnt ,f:0,0for i : 0; i n; i {if bloomDay[i]days{cnt0}else{cntif cntk{fcnt0}}}return fm})
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89265.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!