leetcode492. 构造矩形

news2024/11/24 19:50:44

  • 题目描述
  • 解题思路
  • 执行结果
leetcode 492. 构造矩形


题目描述

作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 所以,现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求:

你设计的矩形页面必须等于给定的目标面积。 宽度 W 不应大于长度 L ,换言之,要求 L >= W 。 长度 L 和宽度 W 之间的差距应当尽可能小。 返回一个 数组 [L, W],其中 L 和 W 是你按照顺序设计的网页的长度和宽度。

示例1:

输入: 4 输出: [2, 2] 解释: 目标面积是 4, 所有可能的构造方案有 [1,4], [2,2], [4,1]。 但是根据要求2,[1,4] 不符合要求; 根据要求3,[2,2] 比 [4,1] 更能符合要求. 所以输出长度 L 为 2, 宽度 W 为 2。 示例 2:

输入: area = 37 输出: [37,1] 示例 3:

输入: area = 122122 输出: [427,286]

提示:

1 <= area <= 107

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/construct-the-rectangle 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

题目解读:找最接近的公因数

要求公因数乘积为a且差值最小

法1

  1. 找公因数
    取余法找因数,就是判断是否会被整除,
  2. 找出另一个因数
    除以刚刚的因数
    因为要查找最小的差值,所以范围要在前一次的两个数之间.
  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

法2

  • 时间复杂度(O())
  • 空间复杂度(O())

执行结果

法1

// 最接近的两个公因数
func constructRectangle(area int) []int {
 a := [2]int{area, 1}
 for i := 2; i < a[0]; i++ {
  if area%i == 0 {//找因素
   a[0] = area / i//第二个因素
   a[1] = i
  }
 }
 return a[:]
}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 60 ms , 在所有 Go 提交中击败了 26.09% 的用户 内存消耗: 1.8 MB , 在所有 Go 提交中击败了 56.52% 的用户 通过测试用例: 52 / 52

alt

法2


法3


本文由 mdnice 多平台发布

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

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

相关文章

实例六:MATLAB APP design- 凸透镜成像光学研究小工具

该博文包含APP设计中Plot和Hold on的用法 在MATLAB APP design中,Hold on对应的代码为app.UIAxes.NextPlot=add; 其中app.UIAxes为坐标区域名字。 注:博文最后链接中包括MATLAB源代码及MATLAB APP design设计代码 一、APP 界面设计展示 注:在文本框中输入焦点和入射点…

含有分布式电源的三相不平衡配电网潮流计算【IEEE33节点】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Linux驱动IO篇——ioctl设备操作

文章目录ioctl命令编码规则ioctl系统调用过程驱动层实现应用层示例应用程序如果想要设置/获取驱动层的数据&#xff0c;一般是驱动提供一个ioclt接口&#xff0c;然后应用层调用。因此&#xff0c;学会在驱动中实现ioctl接口是必要的一项技能。 ioctl命令编码规则 想要定义一个…

每天一道大厂SQL题【Day20】华泰证券真题实战(二)表转置

每天一道大厂SQL题【Day20】华泰证券真题实战(二) 大家好&#xff0c;我是Maynor。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深大数据选手&#xff0c;深知SQL重要性&#xff0c;接下来我准备用100天时间&#xff0c;基于大数据岗面试中的经典SQL题&…

SpringBoot配置加载机制

目录 前言 官方文档&#xff1a;SpringBoot配置加载机制 外化配置加载顺序 application.properties默认位置 命名风格 Spring Boot 中的 ConfigurationProperties 定制PropertySource 主要步骤 切入位置 加载自定义properties文件 自定义文件&#xff08;yapf.propert…

PM866-2 3BSE050201R1未来的工业将会更加智能化。

PM866-2 3BSE050201R1未来的工业将会更加智能化。 ​ 从工业到智慧工业&#xff0c;半导体厂商可以做什么&#xff1f; 从第一次工业革命开始到现在&#xff0c;工业领域发生了翻天覆地的变化&#xff0c;现在及未来的工业将会更加智能化。 意法半导体&#xff08;ST&#xf…

南卡全新开放式OE Pro蓝牙耳机震撼上市,行业新标杆,再迎巅峰

近日&#xff0c;Nank南卡全新发布了一款不入耳开放式蓝牙耳机&#xff0c;创新打破无限可能。根据目前透露&#xff0c;新发布的南卡OE Pro不管是音质还是佩戴舒适度都一如既往的好&#xff0c;比市场内其他品牌的开放式耳机要高出几倍&#xff0c;各大媒体猜测&#xff0c;Na…

AI作画生成器,AI作画的优缺点

AI作画生成器&#xff0c;AI作画生成是一种基于人工智能技术的艺术创作方式&#xff0c;其在过去几年中得到了广泛应用和迅速发展。本文将以此为题&#xff0c;从几个方面来探讨AI作画生成。 一.什么是AI作画生成 AI作画生成&#xff0c;顾名思义&#xff0c;指的是使用人工智…

wifi理论数据速率计算

经常看到这样的数据&#xff0c;下面是802.11n协议&#xff0c;2X2天线的理论数据速率。&#xff1a; 下面我们就来了解下这是怎么计算出来的。 影响因素 速率的计算需要考虑的因素包括&#xff1a;调制方式、码率、子载波个数&#xff08;带宽和协议模式不同&#xff0c;子载…

RK3399平台开发系列讲解(基础篇)延迟和定时器管理

🚀返回专栏总目录 文章目录 一、标准定时器1.1、jiffy和HZ1.2、定时器API二、高精度定时器(HRT)三、动态Tick/Tickless内核四、内核中的延迟和睡眠4.1、原子上下文4.2、非原子上下文沉淀、分享、成长,让自己和他人都能有所收获!😄 📢时间是继内存之后常用的资源之一。…

细说synchronized 加锁 this 和 class 的区别

介绍 synchronized 是 Java 语言中处理并发问题的一种常用手段&#xff0c;它也被我们亲切的称之为“Java 内置锁”&#xff0c;由此可见其地位之高。然而 synchronized 却有着多种用法&#xff0c;当它修饰不同对象时&#xff0c;其意义也是不同的&#xff0c;下面我们一起来…

macOS Monterey 12.6.5 (21G531) Boot ISO 原版可引导镜像

本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Windows 和 Linux 中创建可引导介质。 2023 年 4 月 10 日&#xff08;北京…

VIM编辑常用命令

本贴为学习小甲鱼【VIM快速入门】时的笔记&#xff0c;视频链接&#xff1a;【VIM快速入门】《带你学C带你飞》&#xff08;番外篇&#xff09; VIM是Linux系统下强大的编辑器&#xff0c;能够方便使用者提升效率。 VIM 具有 6 种基本模式和 5 种派生模式。 基本模式&#xff…

获取淘宝商品分类详情API,抓取淘宝全品类目API接口分享(代码展示、参数说明)

商品分类技巧 淘宝店铺分类怎么设置&#xff1f;我们登录卖家账号的时候&#xff0c;我们看到自己的商品&#xff0c;会想要给商品进行分类&#xff0c;一个好的分类可以帮助提高商品的曝光率。那么在给商品分类前&#xff0c;如果您毫无头绪&#xff0c;以下几点可以给您带来…

Vue.js 2.0 状态管理

类 Flux 状态管理的官方实现 由于多个状态分散的跨越在许多组件和交互间各个角落&#xff0c;大型应用复杂度也经常逐渐增长。为了解决这个问题&#xff0c;Vue 提供 vuex&#xff1a; 我们有受到 Elm 启发的状态管理库。vuex 甚至集成到 vue-devtools&#xff0c;无需配置即可…

详解linux多线程——互斥锁、条件变量、读写锁、自旋锁、信号量

一、互斥锁&#xff08;同步&#xff09; 在多任务操作系统中&#xff0c;同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于&#xff0c;公司部门里&#xff0c;我在使用着打印机打印东西的同时&#xff08;还没有打印完&#xff09;&#xff0c;别人刚好也在此…

华为ADS 2.0智驾助力阿维塔成为智能电动汽车领军品牌

随着科技的不断发展和智能化的迅速崛起&#xff0c;智能电动汽车已经成为当今汽车行业的热点话题。在这一领域&#xff0c;中国汽车品牌阿维塔科技近日引人瞩目地成为了首批搭载华为ADS 2.0智驾系统的品牌。在2023年4月16日举行的华为智能汽车解决方案发布会上&#xff0c;阿维…

HCIA第二次笔记

目录 OSI/RM七层参考模型——开放式的系统互联参考模型 核心——分层 TCP/IP模型——TCP/IP协议簇 应用层 应用层协议 封装与解封装 传输层 TCP协议和UDP协议的区别 TCP的报文 TCP的三次握手 TCP的四次挥手 TCP的四种可靠传输机制 OSI/RM七层参考模型——开放式的系…

单链表经典面试题 (动图解析)

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

Lars bak

&#xff08;1&#xff09;先从smalltalk说起上回书《阿伦凯(Alan Kay)》咱们说到世界上第一个基于语言虚拟机的编程语言Smalltalk&#xff0c;以及它的创造者&#xff1a;Alan kay。今天我再沿着语言虚拟机这条路&#xff0c;再走向系统虚拟机《虚拟机&#xff1a;IBM-S/360-O…