From f7c56396666db3c3377f1bbeebf57700d37a2be0 Mon Sep 17 00:00:00 2001 From: zeek <984294471@qq.com> Date: Tue, 31 Mar 2020 20:46:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=BE=E5=87=BA=E6=95=B0=E7=BB=84=E4=B8=AD?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=9A=84=E6=95=B0=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/string/FindRepeatNumber.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/string/FindRepeatNumber.java diff --git a/src/string/FindRepeatNumber.java b/src/string/FindRepeatNumber.java new file mode 100644 index 0000000..d51cbad --- /dev/null +++ b/src/string/FindRepeatNumber.java @@ -0,0 +1,30 @@ +package string; + +import java.util.HashSet; +import java.util.Set; + +/** + * @apiNote 找出数组中重复的数字。 + * 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了, + * 也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 + * 输入: + * [2, 3, 1, 0, 2, 5, 3] + * 输出:2 或 3 + * @author zeekling + * @version 1.0 + * @date 2020-03-31 + */ +public class FindRepeatNumber { + + public int findRepeatNumber(int[] nums) { + Set set = new HashSet(); + int repeat = -1; + for (int num : nums) { + if (!set.add(num)) { + repeat = num; + break; + } + } + return repeat; + } +}