当前位置: 首页 > 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.mmbaike.com/news/52195.html

相关文章:

  • 百度抓取网站图片深圳网站开发制作
  • 高德地图能在香港用么广州seo团队
  • 微商手机网站制作中小企业网站优化
  • 一个网站用两个域名彼亿营销
  • web培训机构哪家好电商网站seo怎么做
  • 有关网站建设的毕业设计seo公司费用
  • 自己做网站怎么赢利互联网推广的方式
  • 直播网站做收入流水制作网站需要什么软件
  • 花钱做的网站推广被骗怎么看关键词的搜索量
  • 做护士题的那个网站是什么外链工厂
  • 大连房地产网站开发网络营销推广策划的步骤是什么
  • 大连做网站的网络公司媒体宣传推广方案
  • 给网站做镜像软文写作什么意思
  • 新网站如何做营销正规营销培训
  • 前端线上培训哪个好武汉seo招聘
  • 你的网站尚未进行备案燃灯seo
  • 网站文章优化事项seo基础入门视频教程
  • 室内装修全屋整装如何进行网站性能优化?
  • 网站建设销售人员培训教程正规seo排名公司
  • 国外比较有名的设计工作室网站佛山关键词排名工具
  • 照片制作网站网站维护一年一般多少钱?
  • b2b网站推广方法十大暗网搜索引擎
  • 开发公司会计工作职责吉林关键词排名优化软件
  • 如何做网站结构优化泉州百度搜索推广
  • 网站建设大作业谷歌排名推广公司
  • 石家庄网站制作设计百度指数资讯指数
  • 做网站不懂行情 怎么收费谷歌应用商店app下载
  • 建网站的意义互联网医疗的营销策略
  • iis 5 如何添加网站广东网络seo推广公司
  • 中国移动网站建设情况分析站长工具站长之家官网