zoukankan      html  css  js  c++  java
  • LeetCode136---只出现一次的数字

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

    说明:

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


    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.stream.IntStream;

    /**
    * @AUTHOR:LKR
    * @DATE:2019/3/6
    * @DESCRIPTION:只出现一次的数字
    **/
    public class OnlyOneNum136 {
    //执行用时: 32 ms,内存消耗: 46.1 MB
    public int singleNumber(int[] nums) {
    Map<Integer,Integer> map = new HashMap<Integer,Integer>();
    for(int i=0;i<nums.length;i++){
    if(map.containsKey(nums[i])){
    int value = map.get(nums[i]);
    map.put(nums[i],value+1);
    }
    else map.put(nums[i],1);
    }
    int key = 0;
    for(Map.Entry<Integer,Integer> entry:map.entrySet()){
    if(entry.getValue().equals(1)){
    key = entry.getKey();
    }
    }
    return key;
    }

    //执行用时: 80 ms,内存消耗: 43.5 MB
    public int singleNumber2(int[] nums) {
    return Arrays.stream(nums).reduce(0,(left, right) -> left ^ right);
    }

    //执行用时: 1 ms,内存消耗: 39.6 MB
    public int singleNumber3(int[] nums) {
    int result = 0;
    for(int i = 0;i<nums.length;i++){
    result = result ^ nums[i];
    }
    return result;
    }

    }
  • 相关阅读:
    mock模拟数据的使用方法
    mac下载wepy报错解决方案
    收集:40种js常用技巧
    学习——面试现场整理的笔记
    mac又更新系统了!!!
    H5的优化方案
    双十一到了,把自己学习的运营笔记发一部分
    mongodb操作笔记
    HTTP协议及常见状态码
    跨域解决方案
  • 原文地址:https://www.cnblogs.com/turningli/p/10486630.html
Copyright © 2011-2022 走看看