热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

golang刷leetcode技巧之如何实现生存人数问题

这篇文章主要介绍了golang刷leetcode技巧之如何实现生存人数问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收

这篇文章主要介绍了golang刷leetcode技巧之如何实现生存人数问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

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

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

示例:

输入:
birth = {1900, 1901, 1950}
death = {1948, 1951, 2000}
输出: 1901

提示:

  • 0

  • birth[i] <= death[i]

解题思路

1,这个题目和并行任务数是一样的

2,出生+1,死亡-1

3,关键是继承上一年的sum[i]+=sum[i-1]

4,注意有个坑,1909年死的人应该在1909年还算存活,1910年不算了

代码实现

func maxAliveYear(birth []int, death []int) int {    sum:=make([]int,102)    for i:=0;imax{            max=sum[i]            maxIndex=i        }    }    return 1900+maxIndex    //1909年死的人应该在1909年还算存活,1910年不算了,,没理解好,所以应该是102大小的数组}

感谢你能够认真阅读完这篇文章,希望小编分享的“golang刷leetcode技巧之如何实现生存人数问题”这篇文章对大家有帮助,同时也希望大家多多支持编程笔记,关注编程笔记行业资讯频道,更多相关知识等着你来学习!


推荐阅读
author-avatar
mobiledu2502863683
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有