当前位置: 首页 > news >正文

南京网站微信建设seo搜索引擎优化视频

南京网站微信建设,seo搜索引擎优化视频,h5网页开发,怎么做网站链接支付题目: 给定 N 个人的出生年份和死亡年份,第 i 个人的出生年份为 birth[i],死亡年份为 death[i],实现一个方法以计算生存人数最多的年份。 你可以假设所有人都出生于 1900 年至 2000 年(含 1900 和 2000 )…

题目:

给定 N 个人的出生年份和死亡年份,第 i 个人的出生年份为 birth[i],死亡年份为 death[i],实现一个方法以计算生存人数最多的年份。

你可以假设所有人都出生于 1900 年至 2000 年(含 1900 和 2000 )之间。如果一个人在某一年的任意时期处于生存状态,那么他应该被纳入那一年的统计中。例如,生于 1908 年、死于 1909 年的人应当被列入 1908 年和 1909 年的计数。

如果有多个年份生存人数相同且均为最大值,输出其中最小的年份。

示例:

输入:
birth = [1900, 1901, 1950]
death = [1948, 1951, 2000]
输出: 1901

解题思路:

年份生存人数也就相当于是对每个年龄段的两头进行记录,找每个区间的重叠部分,返回重叠的最大值。

这里我们用到差分数组,出生年份的下标+1,死亡年份的下标-1

Code:

class Solution {
public:int maxAliveYear(vector<int>& birth, vector<int>& death) {int n = birth.size();vector<int> diff(2002, 0); // 定义差分数组diff//先将每个年龄段的两头确定出来,出生年份+1,死亡年份-1for (int i = 0; i < n; i++){int x = birth[i], y = death[i];diff[x] += 1; diff[y+1]-=1; // 表示对区间[x, y]的元素全部加一}int max = 0, idx = 0, sum(0);//计算差分数组的前缀和,每一个前缀和对应问题的每一个位置的人数for (int i = 1900; i <= 2000; ++i) {sum += diff[i];//更新生存人数最多的年份,(不加等号,就默认多个年份生存人数相同且均为最大值,输出其中最小的年份)if (max < sum){max = sum; idx = i;}}return idx;}
};
http://www.yayakq.cn/news/593025/

相关文章:

  • 大连网站平台研发哪些网站做的好看的图片
  • 建凡网站网络项目免费的资源网
  • 网站建设qq群奉贤北京网站建设
  • 网站数据泄露我们应该怎么做做外贸的网站看啥书
  • 网站套餐外贸soho建网站
  • 河南中原建设网站微信群wordpress打不开自定义
  • 新手怎么做企业网站dw制作旅游网站教程
  • 网站建设流程总结wordpress 插件 扫描
  • 美工做图片网站广州市口碑全网推广报价
  • 学校网站建设工作内容2017网站设计尺寸
  • 企业门户网站源码下载站酷网海报素材图片
  • 怎样上传图片到自己公司网站闵行区学生成长空间
  • 安徽禹尧工程建设有限公司网站网站的站外推广手段
  • 网站后台设置网站地图网站商城的建设
  • 如何做自己的公司网站三维免费网站
  • 如何做地方门户网站做网站开发用哪种语言好
  • 事业单位可以建设网站吗中山移动网站建设公司
  • 网站建设课的感想自己的网站如何让百度收录
  • 做网站是什么海淀网站建设多少钱
  • 装修公司网站模版河南建筑业城乡建设网站查询
  • 样本之家登录网站ios 软件开发
  • wordpress响应式网站模板下载wordpress修改菜单内容
  • 医疗网站搭建建站服务外贸
  • 2016企业网站建设方案虚拟主机建设二个网站
  • 网站升级维护中页面湘潭seo磐石网络
  • wordpress php配置文件站长网seo综合查询工具
  • 定制网站建设报价单网络服务器可提供的常见服务有什么服务
  • 章丘做网站公司郑州生活信息网
  • seo是指搜索引擎营销广州网站优化费用
  • 企业网站产品分类多怎么做seo企业网页制作哪个公司好