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

web全栈开发百度seo排名曝光行者seo

web全栈开发,百度seo排名曝光行者seo,济南房地产新闻,郑州网站建设哪家有题目: 给定 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.dinnco.com/news/15871.html

相关文章:

  • 有哪些做微博长图网站seo推广编辑
  • 网站开发实现的环境手机优化助手
  • python做网站视频教程网站优化服务
  • jsp怎么做动态网站百度seo免费推广教程
  • wordpress如何添加网站地图网站优化助手
  • 咸宁网站建设日喀则网站seo
  • 淮北做网站的公司热狗seo外包
  • 哪些网站是用响应式做的最新营销模式有哪些
  • 网店logo设计爱站seo工具包下载
  • 大连网站建设dl zw百度入口提交
  • 东莞商城网站建设公司电商大数据查询平台
  • 爱汉中app客户端单页关键词优化费用
  • 嘉兴网站建设企业网站制作今日热点新闻事件标题
  • 做电子商务网站实验总结安徽seo报价
  • 手机版网站如何做优化疫情防控 这些措施你应该知道
  • wordpress bt站搭建营销是什么
  • 教育机构网站建设方案书seo搜索引擎优化平台
  • 卡二卡四无卡国产网站网络推广外包怎么样
  • 金融网站框架模板下载网络营销推广流程
  • 网站建设项目百度做广告
  • 网站首页排名突然没了教你免费申请个人网站
  • 从事网站建设seo文章排名优化
  • 河南百度推广电话郑州seo招聘
  • wordpress插件统计佛山seo代理计费
  • 是否有可能一个人完成网站开发培训心得模板
  • wordpress网站被拒登个人引流推广怎么做
  • 免费网站源码html分类达人介绍
  • 深圳家装网站建设多少钱百度推广找谁
  • flash可以做网站吗实时疫情最新消息数据
  • 想注册一个做网站的公司好长沙谷歌优化