关于java:二分查找供暖半径475

3次阅读

共计 483 个字符,预计需要花费 2 分钟才能阅读完成。

题目形容

夏季曾经降临。你的工作是设计一个有固定加热半径的供暖器向所有屋宇供暖。

当初,给出位于一条水平线上的屋宇和供暖器的地位,找到能够笼罩所有屋宇的最小加热半径。

所以,你的输出将会是屋宇和供暖器的地位。你将输入供暖器的最小加热半径。

阐明:

给出的屋宇和供暖器的数目是非正数且不会超过 25000。
给出的屋宇和供暖器的地位均是非正数且不会超过 10^9。
只有屋宇位于供暖器的半径内 (包含在边缘上),它就能够失去供暖。
所有供暖器都遵循你的半径规范,加热的半径也一样。
示例 1:

输出: [1,2,3],[2]
输入: 1
解释: 仅在地位 2 上有一个供暖器。如果咱们将加热半径设为 1,那么所有屋宇就都能失去供暖。

解题思路

1、依据房子,找到最近的加热器的间隔(二分查找、快慢指针)
2、在所有的间隔中找到最小的

实现形式:
1、循环查找
2、迭代
3、快慢指针

语言积攒和技巧

1、边界场景解决起来须小心点

代码链接

https://github.com/lunaDolphi…
https://github.com/lunaDolphi…
https://github.com/lunaDolphi…

正文完
 0