只出现一次的数

    xiaoxiao2021-04-15  308

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

    示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 class Solution { public int singleNumber(int[] nums) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (map.containsKey(nums[i])) { map.put(nums[i],-1); } else { map.put(nums[i], i); } } for (Integer integer : map.keySet()) { if (map.get(integer) >=0) return integer.intValue(); } return 1; } }

    测试的时候把遍历map直接写在for循环里面,也是很脑残了、晚安,521


    最新回复(0)