LeetCode第 252 场周赛 之5187. 收集足够苹果的最小花园周长
LeetCode第 252 场周赛 之5187. 收集足够苹果的最小花园周长
- 前言
- 一,5187. 收集足够苹果的最小花园周长
- 二,解题思路
- 三, 代码
- 总结
)
前言
数学知识
一,5187. 收集足够苹果的最小花园周长
给你一个用无限二维网格表示的花园,每一个 整数坐标处都有一棵苹果树。整数坐标 (i, j) 处的苹果树有 |i| + |j| 个苹果。
你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 ,且每条边都与两条坐标轴之一平行。
给你一个整数 neededApples ,请你返回土地的 最小周长 ,使得 至少 有 neededApples 个苹果在土地 里面或者边缘上。
|x| 的值定义为:
如果 x >= 0 ,那么值为 x
如果 x < 0 ,那么值为 -x
示例 1:
输入:neededApples = 1
输出:8
解释:边长长度为 1 的正方形不包含任何苹果。
但是边长为 2 的正方形包含 12 个苹果(如上图所示)。
周长为 2 * 4 = 8 。
示例 2:
输入:neededApples = 13
输出:16
示例 3:
输入:neededApples = 1000000000
输出:5040
提示:
1 <= neededApples <= 1015
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-garden-perimeter-to-collect-enough-apples
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
二,解题思路
一个项限推理找规律
上面推理一个象限的公式 只需要乘以4就可以了
N⃗\vec NN ⟹\Longrightarrow⟹ [nw−1n_{w - 1}nw−1+nw−2n_{w - 2}nw−2+ …+ n1n_1n1]
一个象限中全部的值: N⃗\vec NN * (2n -1)
全部象限中的值是 : S(n)S(n)S(n) = N⃗\vec NN * (2n -1) * 4
公式: S(n)S(n)S(n) = N⃗\vec NN * (2n -1) * 4
三, 代码
long long minimumPerimeter(long long neededApples)
{long long ans = 0; long long need = 0;for (long long i = 1; i < 1e15+1; ++i){//一个象限中 (1 + 2 + ... + n) need +=i;ans = (need * (2* i +1)) * 4 ;if ( ans >= neededApples) {return i * 8;}}return ans;
}
总结
时间复杂度O(N)O(N)O(N)
源码地址:https://github.com/chensongpoixs/cleet_code
LeetCode第 252 场周赛 之5187. 收集足够苹果的最小花园周长相关推荐
- 5187. 收集足够苹果的最小花园周长
给你一个用无限二维网格表示的花园,每一个 整数坐标处都有一棵苹果树.整数坐标 (i, j) 处的苹果树有 |i| + |j| 个苹果. 你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 ,且每 ...
- LeetCode 1954. 收集足够苹果的最小花园周长(数学)
文章目录 1. 题目 2. 解题 1. 题目 给你一个用无限二维网格表示的花园,每一个 整数坐标处都有一棵苹果树. 整数坐标 (i, j) 处的苹果树有 ∣i∣+∣j∣|i| + |j|∣i∣+∣j∣ ...
- LeetCode第 227 场周赛题解
LeetCode第 227 场周赛题解 检查数组是否经排序和轮转得到 原题链接 https://leetcode-cn.com/problems/check-if-array-is-sorted-an ...
- LeetCode 第 194 场周赛
LeetCode 第 194 场周赛 数组异或操作 思路和代码 保证文件名唯一 思路及代码 避免洪水泛滥 思路及代码 找到最小生成树里的关键边和伪关键边 思路及代码 这次周赛比以往难很多. 数组异或操 ...
- LeetCode第187场周赛(Weekly Contest 187)解题报告
差点又要掉分了,还好最后几分钟的时候,绝杀 AK.干巴爹!!! 第一题:思路 + 模拟暴力. 第二题:线性扫描. 第三题:双指针(滑动窗口) + 优先队列. 第四题:暴力每一行最小 k 个 + 优先队 ...
- Acwing第72场周赛+Leetcode第314场周赛
Acwing第72场周赛 第一题:AcWing 4624. 最小值 分析:向下取整可以用到math.h头文件中的floor()函数,最后输出时套用两个min()函数求三个数的最小值即可. 代码: #i ...
- Leetcode第 310 场周赛 补打
Leetcode 第310场周赛 自己赛后打了一下,记录了一下时间,大概15min A 3题,第四题是写不出来,然后学习了一天线段树(真的强). 思路: 1.排序后统计偶数的数目 2.遍历扫一遍,用直 ...
- LeetCode第176场周赛(Weekly Contest 176)解题报告
又是一周掉分之旅,我发现,LeetCode周赛的数据好水,所以有的时候,实在没思路,先暴力解决试试(即使分析出时间复杂度会超时),比如第二题和第三题都可以暴力通过,GG思密达. 这周主要使用了数据结构 ...
- Leetcode第321场周赛补题
Leetcode第321场周赛补题 第一题:6245. 找出中枢整数 - 力扣(LeetCode) 分析:由于数组中是差值为1的等差数列,所以可以直接用等差数列求和公式的朴素法更加简便的解决这题,,其 ...
- [算法]LeetCode第194场周赛202006021
第194场周赛 20200621 1486. 数组异或操作 题目描述1 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 ...
最新文章
- Cocos2d-x的坐标系统
- 设计模式中必须知道的一些原则
- java 抽象类,接口,object类详解
- 淘淘商城项目过程记录
- 一张图告诉你E-R图怎么画
- P3375 【模板】KMP字符串匹配
- 学成在线--19.新增课程(数据字典)
- 必知!4张图看尽AI发展史重大里程碑
- 十二、十三天总结笔记
- cve-2020-0796_CVE20200796 | Windows SMBv3客户端/永痕之黑漏洞复现
- 学了c再自学python_学过一学期c语言的情况下如何自学python?
- 【MODBUS】组态王通过串口与MODBUS RTU设备通讯
- newifimini出厂固件_newifi 新路由 mini用哪个Pandora固件
- Hdu--5064(DP)
- 淘宝母婴商品分析-Python
- 国庆节,一天开发一个小程序+Web系统。2.5K到手。【分享开发经验】【收藏起来】
- STM32F1基于H桥的电机控制程序分析
- mysql scn_Oracle scn之基本概念
- 计算机病毒带来主要危害,计算机病毒的危害有哪些【详细介绍】
- DataPipeline携手世界五百强地产企业,提升数据流动性释放新动能
热门文章
- 手机java时代浏览器_巅峰之战 三款最热java手机浏览器横评
- 笔记本的无线网卡驱动服务器,无线网卡驱动,详细教您怎么笔记本无线网卡驱动...
- 【git】git的删除命令与如何删除仓库文件的方法
- 2021计算机夏令营经验分享(西交软院、南开计算机、中南计算机、南京大学计算机、华东师大数据学院、上交电院直博、国防科大计算机、上科大)
- 清华大学的计算机课程表,清华大学计算机专业课程表
- 软件项目确立的几个步骤
- 重复独立事件,伯努利概型 (概统1)
- 用wget命令从FTP服务器下载数据
- 深度系统linux deepin如何按装,安装深度Deepin 15.11操作系统的方法
- mysql五日均线_终于有人把“5日均线做短线”的精髓讲透了!