Talentd
FleetCode

1954. Minimum Garden Perimeter to Collect Enough Apples

Medium55.5% acceptance1 company

In a garden represented as an infinite 2D grid, there is an apple tree planted at every integer coordinate. The apple tree planted at an integer coordinate (i, j) has |i| + |j| apples growing on it.

You will buy an axis-aligned square plot of land that is centered at (0, 0).

Given an integer neededApples, return the minimum perimeter of a plot such that at least neededApples apples are inside or on the perimeter of that plot.

The value of |x| is defined as:

  • x if x >= 0
  • -x if x < 0

Example 1:

Input: neededApples = 1
Output: 8
Explanation: A square plot of side length 1 does not contain any apples.
However, a square plot of side length 2 has 12 apples inside (as depicted in the image above).
The perimeter is 2 * 4 = 8.

Example 2:

Input: neededApples = 13
Output: 16

Example 3:

Input: neededApples = 1000000000
Output: 5040

Constraints:

  • 1 <= neededApples <= 1015

Asked at 1 company

Hints open one at a time

Hint 1
Find a formula for the number of apples inside a square with a side length L.
Hint 2
Iterate over the possible lengths of the square until enough apples are collected.
9:51
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def minimumPerimeter(self, neededApples: int) -> int:
3
Starter codePython 3Spaces: 4
Examples
Input
1
Input
13
Input
1000000000
Your code is saved on this device.Solution