【Leetcode -485.最大连续1的个数 -492.构造矩形】

这篇具有很好参考价值的文章主要介绍了【Leetcode -485.最大连续1的个数 -492.构造矩形】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Leetcode -485.最大连续1的个数

题目:给定一个二进制数组 nums , 计算其中最大连续 1 的个数。

示例 1:
输入:nums = [1, 1, 0, 1, 1, 1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.

示例 2:
输入:nums = [1, 0, 1, 1, 0, 1]
输出:2

思路是遍历一次数组,如果是1就使用变量count累加,每次累加完与变量max判断谁大,谁大max就取谁;如果是0,count就清0,重新开始累加;

		int findMaxConsecutiveOnes(int* nums, int numsSize)
		{
		    int count = 0, max = 0;
		
		    //遍历数组
		    for (int i = 0; i < numsSize; i++)
		    {
		        //如果是1,count就累加
		        if (nums[i])
		            count++;
		
		        //如果是0,count从0开始重新计算
		        else
		            count = 0;
		
		        //每次nums[i]是1,count累加完,就判断 max与count谁大,谁大就取谁
		        max = count > max ? count : max;
		    }
		    return max;
		}

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]

思路是因为area = L * W,所以L = area/W;area是可以被W整除的,我们需要寻找面积area开方后,第一个可以整除area的数,这个数就是宽W,而L = area/W则是矩形的长,此时它们之间的差距最小;文章来源地址https://www.toymoban.com/news/detail-446977.html

		int* constructRectangle(int area, int* returnSize)
		{
		    //只需要返回两个数,所以两个整型空间足矣
		    int* ans = (int*)malloc(sizeof(int) * 2);
		    *returnSize = 2;
		
		    //因为 area = L * W,所以L = area/W;area是可以被W整除的
		    //L * W = area >= W * W,所以有 W <= sqrt(area),
		    //所以我们需要判断 W = sqrt(area)后,是否可以整除area,若可以L = area/W;否则,W一直减减再判断
		    int W = sqrt(area);
		    while (area % W)
		    {
		        W--;
		    }
		
		    ans[0] = area / W;
		    ans[1] = W;
		
		    return ans;
		}

到了这里,关于【Leetcode -485.最大连续1的个数 -492.构造矩形】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode 1004.最大连续1的个数

    力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 硬往题目介绍上边去想的话其实非常困难,如果换种方式思考就会简单许多。 若我们将思想转化为,找出最长的子串(里面含有的0的数量最大为k),然后返回其最长长度。 这样思路就清晰了许多,那么我们使用一个zero变量来

    2024年02月09日
    浏览(32)
  • 【滑动窗口】leetcode1004:最大连续1的个数

    最大连续1的个数  这道题要我们找最大连续1的个数,看到“连续”二字,我们要想到滑动窗口的方法。滑动窗口的研究对象是一个连续的区间,这个区间需要满足某个条件。那么本题要找的是怎样的区间呢?是一个通过翻转0后得到连续1的区间,而最多可以翻转k个字符。 故

    2024年02月11日
    浏览(40)
  • 每日一练【最大连续1的个数】

    给定一个二进制数组  nums  和一个整数  k ,如果可以翻转最多  k  个  0  ,则返回  数组中连续  1  的最大个数  。 本题同样是利用滑动窗口的解法。 首先进入窗口,如果是1,就直接让right++,但是如果是0,那么需要让计数器去++,当计数器大于指定的k时,就需要让l

    2024年01月21日
    浏览(67)
  • 【数据结构和算法】最大连续1的个数 III

    Java基础合集 数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:滑动窗口  2.2 滑动窗口解题模板 三、代码 3.1 方法一:滑动窗口 四、复杂度分析 4.1 方法一:滑动窗口 这是力扣的 1004 题,

    2024年02月04日
    浏览(45)
  • 【leetcode热题100】接雨水、直方图最大矩形面积、矩阵中最大的矩形

    题目链接 题目描述: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝

    2024年02月03日
    浏览(56)
  • LC1798. 你能构造出连续值的最大数目(JAVA)

    难度 - 中等 Leetcode - 1798. 你能构造出连续值的最大数目 给你一个长度为 n 的整数数组 coins ,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i] 。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以 构造 出 x 。 请返回从 0 开始(包括 0 ),你最多能 构造

    2024年02月09日
    浏览(48)
  • Leetcode 85. 最大矩形

    LeetoCode地址: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 该题是84题的升级版。84题给出了一个一维数组,即一行数据,每个元素是高度。而该题则是给出了二维数组,只需我们将每一行的高度自行求出,即可以运用相同的算法解决。 该题目的难点在于思维模型上,如

    2024年02月20日
    浏览(37)
  • 【LeetCode】85.最大矩形

    给定一个仅包含  0  和  1  、大小为  rows x cols  的二维二进制矩阵,找出只包含  1  的最大矩形,并返回其面积。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: rows == matrix.length cols == matrix[0].length 1 = row, cols = 200 matrix[i][j]  为  \\\'0\\\'  或  \\\'1\\\' 这题是建立在「84.柱形图

    2024年02月10日
    浏览(37)
  • LeetCode - #85 最大矩形(Top 100)

    本题为 LeetCode 前 100 高频题 本题由于没有合适答案为以往遗留问题,最近有时间将以往遗留问题一一完善。 我们社区陆续会将顾毅( Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。 )的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我

    2024年02月10日
    浏览(36)
  • 【LeetCode每日一题】——85.最大矩形

    矩阵 困难 85.最大矩形 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“

    2024年02月13日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包