前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Leetcode -485.最大连续1的个数 -492.构造矩形】

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

作者头像
YoungMLet
发布2024-03-01 09:51:53
910
发布2024-03-01 09:51:53
举报
文章被收录于专栏:C++/LinuxC++/Linux

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,重新开始累加;

代码语言:javascript
复制
		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则是矩形的长,此时它们之间的差距最小;

代码语言:javascript
复制
		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;
		}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Leetcode -485.最大连续1的个数
  • Leetcode - 492.构造矩形
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档