CodeACM
HOT 100 · 技巧 · LC 287

寻找重复数:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。

假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。

你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。

输入格式

第一行输入 n,第二行输入 n+1 个整数。

输出格式

输出重复的数字。

数据范围

  • 1 ≤ n ≤ 10⁵
  • 1 ≤ nums[i] ≤ n
  • 恰有一个不同的重复数字

公开样例

样例 1

输入

4
1 3 4 2 2

输出

2

数字 2 重复出现。

样例 2

输入

4
3 1 3 4 2

输出

3

数字 3 重复出现。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。