【每日一题】收集足够苹果的最小花园周长

文章目录

  • Tag
  • 题目来源
  • 解题思路
    • 方法一:二分枚举答案
  • 写在最后

Tag

【二分枚举答案】【二维网格】【2023-12-24】


题目来源

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


解题思路

方法一:二分枚举答案

思路

通过如下过程,我们可以求出边长为 2n 时,二维网格可以容纳的苹果数量为:

2 n ( n + 1 ) ( 2 n + 1 ) 2n(n+1)(2n+1) 2n(n+1)(2n+1)

图片来源 【图解】O(1) 做法(Python/Java/C++/Go/JS/Rust)。

随着边长的增大,二维网格可以容纳的苹果数量也在增大。于是我们可以二分枚举二维网格的边长,找出可以容纳 neededApples 个苹果的最小二维网格边长。

二分边界为 [1, 100000],其中 100000 是根据边长为 2n 的二维网格可以容纳苹果 2n(n+1)(2n+1) 估算得到。

算法

#define ll long long
class Solution {
public:long long minimumPerimeter(long long neededApples) {int l = 1, r = 100000;int ans = 0;while(l <= r){int mid = (l + r) >> 1;if((ll) 2*mid*(mid+1)*(2*mid+1) >= neededApples){ans = mid;r = mid - 1;}else{l = mid + 1;}}return ans * 8;}
};

复杂度分析

时间复杂度: O ( l o g m ) O(logm) O(logm) m = n e e d e d A p p l e s 3 m = \sqrt[3]{neededApples} m=3neededApples

空间复杂度: O ( 1 ) O(1) O(1)


写在最后

如果您发现文章有任何错误或者对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度的方法,欢迎评论区交流。

最后,感谢您的阅读,如果有所收获的话可以给我点一个 👍 哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小数前的0在html不显示,jsp小数显示问题 例如 我在oracle 数据库中查询出来的是 0.01 但是在jsp页面上就显示成 .01 没有前面的0...

满意答案1234junling2013.08.28采纳率&#xff1a;56% 等级&#xff1a;12已帮助&#xff1a;6022人控制保留几位有效小数的js函数//Code CreateBy abandonship 2007.03.12function FormatAfterDotNumber( ValueString, nAfterDotNum ){var ValueString,nAfterDotNum ;var r…

word文档图标变成白纸_word文档图标变为白纸

请不要盗用我的答案&#xff01;&#xff01;一号方案【新P】注意【原创】&#xff1a;1&#xff0e;安全模式下&#xff0c;效果更好&#xff01;2. 以下所要使用的软件&#xff0c;都要安装或升级到最新版本&#xff0c;以保证使用的效果。3. 不杀毒&#xff0c;直接使用以下…

Jira filter subscribe issues

Jira & filter & subscribe & issues https://confluence.atlassian.com/search/?querysubscribeissues&productNameJiraCore&productVersion7.3]https://confluence.atlassian.com/jiracoreserver073/saving-your-search-as-a-filter-861257224.html 转载…

iView 一周年了,同时发布了 2.0 正式版,但这只是开始...

两年前&#xff0c;我开始接触 Vue.js 框架&#xff0c;当时就被它的轻量、组件化和友好的 API 所吸引。之后我将 Vue.js 和 Webpack 技术栈引入我的公司&#xff08;TalkingData&#xff09;可视化团队&#xff0c;并经过一年多的实践&#xff0c;现已成为整个公司的前端开发规…

Hawtio和Apache JClouds

介绍 我最近花了一些时间为Hawtio开发 Apache Jclouds插件。 尽管还有很多待完成的工作&#xff0c;但我无法激动&#xff0c;想分享…… 这个Hawtio到底是什么&#xff1f; 每当我注意到一个很酷的开源项目时&#xff0c;我通常都会订阅邮件列表&#xff0c;以便我可以更好地…

【转】安全加密(一):这些MCU加密方法你都知道吗?

本文导读 随着物联网和边缘计算的出现&#xff0c;五花八门的MCU也被应用其中&#xff0c;如何保证我们的程序安全和知识产权不受侵犯呢&#xff0c;本文我们将对主流MCU的程序加密进行讲解&#xff0c;希望能够帮助你选择最适合自己应用的微处理器。 1. MCU加密 通常所说的MC…

检验杜宾 瓦森检验法R语言_EVIEWS序列相关检验2.pdf

EVIEWS序列相关检验2序列相关检验、处理及案例内蒙古科技大学经济与管理学院边璐 2011.11.10内容安排• 自相关性的检验• 自相关性的解决方法• 案例分析自相关性的检验• 1、图示法(上节课已说过)• 2、DW检验• 3、回归检验法• 4、高阶自相关性检验2、杜宾-瓦森(Durbin-Wat…

连续出现最长次数

输入第一行有一个整数n(n < 1000)&#xff0c;为数组元素的个数。第二行有n个整数&#xff0c;整数之间以一个空格分开。输出输出最长平台的长度。样例输入 10 1 2 2 3 3 3 4 5 5 6 样例输出 3 #include<iostream> using namespace std; int main() {int a[1001],n;ci…

家用计算机机箱怎么选,一般家用电脑主机买什么配置的比较好

组装台式电脑配置最好的方法&#xff1a;实用性机型建议&#xff1a;首选1&#xff1a;intel G1620双核H61M主板。(价格低廉性能不弱&#xff0c;超值)首选2&#xff1a;intel G1840双核H81M主板。(核心显卡性能比G1620更强)中级机型建议&#xff1a;首选1&#xff1a;intel G3…

浅谈Vue内置component组件的应用场景

官方的说明 渲染一个“元组件”为动态组件。依 is 的值&#xff0c;来决定哪个组件被渲染。 <!-- 动态组件由 vm 实例的属性值 componentId 控制 --> <component :is"componentId"></component>具体可以官网文档中的 动态组件内置的组件compone…

angular路由传递参数_在angular4.0路由传递获取参数的最优方案

这次给大家带来在angular4.0路由传递获取参数的最优方案&#xff0c;在angular4.0路由传递获取参数的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。研究ng4的官网&#xff0c;终于找到了我想要的方法。我想要的结果是用‘&拼接参数传送&#xff0…

计算机基础及ms应用在线,全国一级计算机基础及MS Office应用课件 (2).pdf

全国计算机等级考试一级教程计算机基础及MS Office应用考试大纲考试大纲考试大纲考试大纲考试大纲考试大纲考试大纲考试大纲考点1 &#xff1a;计算机组成结构1946年世界上第一台名为ENIAC的电子计算机诞生于美国宾夕法尼亚大学。考点2 &#xff1a;冯诺依曼概念 冯诺依曼理论…

破坏您的JVM

正如我们最近发现的那样&#xff0c;全面测试可能有害。 扩展测试覆盖范围导致我们仅花费一行代码就进行了几个小时的调试会话。 使调试特别令人不愉快的是&#xff0c;该代码不仅崩溃了所部署的JVM&#xff0c;而且还破坏了其下的虚拟机和/或物理机。 因此&#xff0c;请自行…

ulli*3 实现翻书动画效果

按惯例&#xff0c;上GIF&#xff1a;重现&#xff1a;https://codepen.io/anon/pen/JJBxOm 这是我今天参加面试时候&#xff0c;面试官让我做的一道题&#xff0c;面试官坐我旁边看我现场做&#xff0c;然而我比较菜&#xff0c;回来后才做出来…… 来看看HTML部分&#xff1a…

软件结构B/S和C/S

C/S(Client Server)结构的软件&#xff1a; 比如&#xff1a; QQ、 极品飞车、 飞信 、 迅雷 缺点&#xff1a;更新的时候需要用户下载更新包然后再安装&#xff0c;程序员则需要开发客户端与服务端。优点&#xff1a; 减轻服务端的压力&#xff0c;而且可以大量保存数据…

对hash签名失败_vue项目中微信jssdk在ios签名失败

一、问题描述1. vue项目中微信jssdk签名时&#xff0c;在安卓和ios是有差异的&#xff0c;签名时使用的urlwindow.location.href.split(#)[0],此时在安卓没问题&#xff0c;在ios会导致签名失败。因为在安卓中应该拿去签名的URL就是每个页面的URL&#xff0c;在ios中拿去签名的…

cookie,session 会话跟踪技术

会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话&#xff01;可以把会话理解为客户端与服务器之间的一次会晤&#xff0c;在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话&#xff0c;你就是客户端&#xff0c;而10086服务人员就是服务器了。…

嵌入Maven

这是一个非常罕见的用例&#xff0c;但有时您需要它。 如何在应用程序中嵌入Maven&#xff0c;以便可以以编程方式运行目标&#xff1f; 简短的答案是&#xff1a;这很棘手。 我涉足了我的java webapp自动同步项目的问题 &#xff0c;有时我决定不嵌入它。 最终&#xff0c;我…

200行代码写一个简易的dva

在美团实习的时候&#xff0c;第一次接触到dva这样的react框架&#xff0c;回学校的时候&#xff0c;就想有机会自己实现一下这样的框架&#xff0c;虽然自己水平有限&#xff0c;但是可以试一试哈。 目标是实现dva model的同步和异步 dispatch action。 看看 dva 的构成 let…

linux 切换root_Linux运维服务篇:流量监控工具iftop部署及详细参数分享

Linux流量监控工具--iftop介绍&#xff1a;在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量&#xff0c;监控TCP/IP连接等&#xff0c;则可以使用iftop。一、iftop是什么&#xff1f;iftop是类…