1144. The Missing Number (20)

1144. The Missing Number (20)

时间限制
150 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue

Given N integers, you are supposed to find the smallest positive integer that is NOT in the given list.

Input Specification:

Each input file contains one test case. For each case, the first line gives a positive integer N (<= 105). Then N integers are given in the next line, separated by spaces. All the numbers are in the range of int.

Output Specification:

Print in a line the smallest positive integer that is missing from the input list.

Sample Input:
10
5 -25 9 6 1 3 4 2 5 17
Sample Output:
7


给一串数字,找出没有给出的最小正整数。给了N<=100000,那么答案就在这里面。比较简单


#include <cstdio>

using namespace std;

int N;
int sz[100010];

int main() {
	scanf("%d\n", &N);
	int t;
	for (int i = 0; i < N; i++) {
		scanf("%d", &t);
		if (t > 0 && t<100010) {
			sz[t] = 1;
		}
	}
	for (int i = 1; i < 100010; i++) {
		if (sz[i] == 0) {
			printf("%d", i);
			break;
		}
	}
	return 0;
}

在编程中,NaN 代表 "Not a Number",它表示一个计算结果不是数字的情况。通常,出现 NaN 是因为尝试进行的数学运算不合法,比如将一个非数字的字符串转换为数字,或者进行了无效的数学操作(如除以零)。 根据您提供的代码 `row.volume = Number(row.height) * Number(row.width) * Number(row.length)`,如果计算结果是 NaN,可能的原因包括: 1. `row.height`、`row.width` 或 `row.length` 中的某个值无法转换为有效的数字。这可能是因为这些值是空字符串、包含非数字字符的字符串,或者根本就是未定义的(undefined)。 2. 在转换过程中,如果任何一个值是 `null` 或者 `undefined`,使用 `Number()` 转换也会得到 NaN,因为 `Number(null)` 返回 0,而 `Number(undefined)` 返回 NaN。 要解决这个问题,您可以采取以下步骤: - 确保 `row.height`、`row.width` 和 `row.length` 中的每个值都是可以转换为有效数字的字符串或数字。 - 使用 `Number()` 转换之前,可以先检查每个值是否有效,比如是否为数字字符串,是否可以转换。 - 使用 `isNaN()` 函数来检查转换结果是否为 NaN,如果是,可以给出适当的提示或者处理。 - 可以使用 `parseInt()` 或 `parseFloat()` 替代 `Number()`,因为它们通常在处理字符串时更为严格和可靠。 下面是一个示例代码,演示如何检查每个值并计算体积: ```javascript function calculateVolume(row) { if (row.height && row.width && row.length) { const height = parseFloat(row.height); const width = parseFloat(row.width); const length = parseFloat(row.length); if (!isNaN(height) && !isNaN(width) && !isNaN(length)) { row.volume = height * width * length; return row.volume; } else { console.error('One of the dimensions is not a number'); return NaN; } } else { console.error('Missing dimensions'); return NaN; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值