Class Solution
Hard
There is an endless straight line populated with some robots and walls. You are given integer arrays robots, distance, and walls:
robots[i]is the position of theithrobot.distance[i]is the maximum distance theithrobot’s bullet can travel.walls[j]is the position of thejthwall.
Every robot has one bullet that can either fire to the left or the right at most distance[i] meters.
A bullet destroys every wall in its path that lies within its range. Robots are fixed obstacles: if a bullet hits another robot before reaching a wall, it immediately stops at that robot and cannot continue.
Return the maximum number of unique walls that can be destroyed by the robots.
Notes:
- A wall and a robot may share the same position; the wall can be destroyed by the robot at that position.
- Robots are not destroyed by bullets.
Example 1:
Input: robots = [4], distance = [3], walls = [1,10]
Output: 1
Explanation:
robots[0] = 4fires left withdistance[0] = 3, covering[1, 4]and destroyswalls[0] = 1.- Thus, the answer is 1.
Example 2:
Input: robots = [10,2], distance = [5,1], walls = [5,2,7]
Output: 3
Explanation:
robots[0] = 10fires left withdistance[0] = 5, covering[5, 10]and destroyswalls[0] = 5andwalls[2] = 7.robots[1] = 2fires left withdistance[1] = 1, covering[1, 2]and destroyswalls[1] = 2.- Thus, the answer is 3.
Example 3:
Input: robots = [1,2], distance = [100,1], walls = [10]
Output: 0
Explanation:
In this example, only robots[0] can reach the wall, but its shot to the right is blocked by robots[1]; thus the answer is 0.
Constraints:
1 <= robots.length == distance.length <= 1051 <= walls.length <= 1051 <= robots[i], walls[j] <= 1091 <= distance[i] <= 105- All values in
robotsare unique - All values in
wallsare unique
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
maxWalls
public int maxWalls(int[] robots, int[] distance, int[] walls)
-