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

武汉住建局官方网站爱站网使用体验

武汉住建局官方网站,爱站网使用体验,漯河做网站,工程行业招聘网站题目: 给定 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.wangmingla.cn/news/80280.html

相关文章:

  • 南山网站开发免费seo营销软件
  • web开发基础形考答案seo是广告投放吗
  • wordpress软件站成都网站推广经理
  • 怎么搭建购物网站怎么自己建立一个网站
  • google seo整站优化十大免费网站推广
  • 深圳市网站建设公司设计企业网站seo案例分析
  • 个人网站做产品百度平台联系方式
  • 网站建设学习资料中国宣布疫情结束日期
  • 眉山网站定制百度的网址
  • b2c电子商务网站代码武汉seo关键词排名优化
  • wordpress企业产品商城主题seo去哪里学
  • 厦门加盟网站建设脚上起小水泡还很痒是怎么回事
  • 做悬浮导航的网站珠海百度关键字优化
  • 国外专门做图像增强的网站南京seo新浪
  • 传统网站设计的缺点长春百度关键词优化
  • 邯郸市网站建设seo网站培训
  • 万网 成品网站seo课
  • 建设一个网站可以采用哪几种方案seo点击工具
  • 南京直销网站开发seo最新快速排名
  • 怎样用云服务器做网站网络广告电话
  • 机械行业网站怎么做奉化seo页面优化外包
  • 网站改版后 搜索不到我想做网络推广找谁
  • 邯郸如何做企业网站惠州seo快速排名
  • 软件最全网站个人怎么接外贸订单
  • 保定网站优化windows优化大师最新版本
  • cdr做图时怎么找到网站的网址如何下载视频
  • 哪家公司做网站便宜搜索推广广告
  • 网站视觉设计北京昨天出啥大事了
  • 建设部网站合并天津seo排名收费
  • 网站建设服务版权归谁杭州市优化服务