面试题 16.10. 生存人数

给定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.length == death.length <= 10000
birth[i] <= death[i]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/living-people-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

package org.dai.io.cmd.command;

/**
 * 给定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.length == death.length <= 10000 birth[i] <= death[i]
 * 
 * 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/living-people-lcci
 * 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
 *
 */
public class Solution11 {

	public static void main(String[] args) {
		int[] birth = new int[] { 1900, 1901, 1950 };
		int[] death = new int[] { 1948, 1951, 2000 };
		Solution11 so3 = new Solution11();
		int rs = so3.maxAliveYear(birth, death);
		System.out.println(rs);

	}

	public int maxAliveYear(int[] birth, int[] death) {
		int[] years = new int[102];
		for (int i = 0; i < birth.length; i++) {
			int b = birth[i] - 1900;
			int d = death[i] - 1900;
			years[b]++;
			years[d + 1]--;
		}
		int year = 1900;
		int sum = 0;
		int max = 0;
		for (int i = 0; i < years.length; i++) {
			int c = years[i];
			if (c > 0) {
				sum = sum + c;
				if (sum > max) {
					year = i;
					max=sum;
				}
			} else if (c < 0) {
				sum = sum + c;
			}
		}

		return year + 1900;

	}
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 要安装node 16.10.0的exe版本,您可以按照以下步骤进行操作: 1. 首先,您需要从node.js官方网站上下载安装包。您可以在https://nodejs.org/en/download/找到相应版本的exe安装程序。 2. 一旦您下载了exe安装程序,双击运行该安装程序。 3. 运行安装程序时,您将看到一个欢迎界面,您可以点击“下一步”继续安装。 4. 在接下来的界面中,您将被要求选择安装路径。您可以选择默认路径,也可以选择您喜欢的其他路径。选择完毕后,点击“下一步”。 5. 接下来,您将看到一个组件选择界面。默认已经选择了Node.js核心组件,您可以根据需要选择其他组件。当您选择完毕时,点击“下一步”。 6. 在随后的界面中,您将看到一个选择附加任务的界面。您可以选择创建快捷方式、自动运行安装程序等附加任务。选择完毕后,点击“下一步”。 7. 现在,您将进入安装过程的最后一步,即概述界面。在该界面上,您可以查看您选择的设置和安装位置。确认无误后,点击“安装”开始安装。 8. 安装过程可能需要一些时间,取决于您的计算机性能和网络速度。 9. 安装完成后,您会看到一个安装成功的界面。您可以选择启动Node.js,然后点击“完成”来完成安装。 10. 现在,您已经成功安装了Node.js 16.10.0的exe版本。您可以通过在命令行中输入“node -v”来验证安装是否成功,如果成功安装,将显示Node.js的版本号。 ### 回答2: 要安装Node.js v16.10.0 exe版本,您可以按照以下步骤进行操作: 1. 首先,前往Node.js官网(https://nodejs.org/zh-cn/)下载页面,在该页面上找到Node.js v16.10.0的下载链接。 2. 点击下载链接,会弹出一个窗口,您可以选择合适的操作系统和体系结构(32位或64位)。 3. 在选择完操作系统和体系结构后,点击“下载”按钮开始下载Node.js安装程序的exe文件。 4. 下载完成后,找到下载的exe文件,双击运行该文件。 5. 出现安装向导窗口后,按照指示一步一步进行安装。可以使用默认的安装选项,也可以根据个人需要进行自定义设置。 6. 在安装过程中,可能需要选择Node.js的安装路径。您可以选择默认的路径,也可以选择自定义的安装路径。 7. 待安装完成后,点击“完成”按钮退出安装向导。 8. 现在,您已经成功安装了Node.js v16.10.0的exe版本。您可以在命令行终端或开发环境中使用node命令来验证安装是否成功,输入“node -v”命令,如果能正确显示版本号“v16.10.0”,说明安装成功。 希望以上回答对您有所帮助!如果还有其他问题,请随时提问。 ### 回答3: 要安装 Node.js 的 exe 版本(即可执行文件版本),首先需要前往 Node.js 的官方网站(https://nodejs.org)进行下载。 在网站的首页上,可以看到两个不同的版本供选择:Current 和 LTS。Current 版本是最新的发布版本,而 LTS 版本是长期支持版本。对于大多数用户来说,建议选择安装 LTS 版本,因为它相对稳定且成熟。 点击相应的版本后,会跳转到页面底部的下载选项。根据你的操作系统,选择合适的安装包。对于 Windows 用户,选择 Windows Installer 相关的 exe 文件进行下载。 下载完成后,双击 exe 文件来启动安装程序。选择你想要安装 Node.js 的目录,一般默认安装在 C:\Program Files\nodejs。 在安装过程中,可以根据个人需求选择不同的选项。一般来说,我们可以保持默认设置进行安装,除非有特殊要求。 安装完成后,可以通过打开命令提示符或 Power Shell 并输入 node -v 命令来验证安装是否成功。如果安装成功,会显示 Node.js 的版本号,比如 v16.10.0。 值得注意的是,在 Windows 系统上,安装 Node.js 还会自动安装 npm(即 Node Package Manager),它是 Node.js 的包管理工具,可以用于安装、升级和管理各种 JavaScript 包和库。 总结起来,安装 Node.js 的 exe 版本只需几个简单的步骤:下载 exe 文件、运行安装程序、选择安装目录和验证安装是否成功。安装成功后,就可以通过命令提示符或 Power Shell 运行 Node.js 相关的命令了。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值