LeetCode009|只出现一次的数字

时间:2022-07-23
本文章向大家介绍LeetCode009|只出现一次的数字,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1,题目简述

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

说明:

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

2,示例

输入: [2,2,1]
输出: 1

3,题解思路

这里以功能实现为主,使用HashMap键值对集合来做

4,示例程序


import java.util.HashMap;
import java.util.Map;

public class SingleNumberTest {
    public static void main(String[] args) {
        int[] array = {2, 2, 1};
        int number = singleNumber(array);
        System.out.println("number = " + number);
    }

    public static int singleNumber(int[] nums) {
        if (nums == null || nums.length == 0) {
            return -1;
        }
        HashMap<Integer, Integer> map = new HashMap<>();
        for (int num : nums) {
            if (!map.containsKey(num)) {
                map.put(num, 1);
            } else {
                map.put(num, map.get(num) + 1);
            }
        }
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            if (entry.getValue() == 1) {
                return entry.getKey();
            }
        }
        return -1;
    }
}

5,总结,这里采用了图片和代码都采用的方式,是因为自己在凑文章的字数,因为整个题解思路说完之后,文章的字数却还不够,那么自然就会采用一些内容进行补充一下了,目前自己也是总结以往写过的内容,所以一次性多发几篇文章,但是原创是自己坚持的,文章也是自己慢慢总结的