2023-12-24 LeetCode每日一题(收集足够苹果的最小花园周长)

2023-12-24每日一题

一、题目编号

1954. 收集足够苹果的最小花园周长

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个用无限二维网格表示的花园,每一个 整数坐标处都有一棵苹果树。整数坐标 (i, j) 处的苹果树有 |i| + |j| 个苹果。

你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 ,且每条边都与两条坐标轴之一平行。

给你一个整数 neededApples ,请你返回土地的 最小周长 ,使得 至少 有 neededApples 个苹果在土地 里面或者边缘上

|x| 的值定义为:

  • 如果 x >= 0 ,那么值为 x
  • 如果 x < 0 ,那么值为 -x

示例 1:
2023-12-24 LeetCode每日一题(收集足够苹果的最小花园周长)_第1张图片

示例 2:
在这里插入图片描述

示例 3:
在这里插入图片描述
提示:

  • 1 <= neededApples <= 1015

四、解题代码

class Solution {
public:
    long long minimumPerimeter(long long neededApples) {
        long long left = 1, right = 100000, ans = 0;
        while (left <= right) {
            long long mid = (left + right) / 2;
            if (2 * mid * (mid + 1) * (mid * 2 + 1) >= neededApples) {
                ans = mid;
                right = mid - 1;
            }
            else {
                left = mid + 1;
            }
        }
        return ans * 8;
    }
};

五、解题思路

(1) 二分查找。

你可能感兴趣的:(LeetCode每日一题,leetcode,算法,数据结构)