首页 > 其他分享 >【LeeCode】136. 只出现一次的数字

【LeeCode】136. 只出现一次的数字

时间:2022-11-26 22:31:43浏览次数:63  
标签:java 数字 int util LeeCode 136 import public result

【题目描述】

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

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

​https://leetcode.cn/problems/single-number/description/?favorite=2cktkvj​


【示例】

【LeeCode】136. 只出现一次的数字_java


【代码1 -- 推荐】

​学习参考​

【LeeCode】136. 只出现一次的数字_时间复杂度_02


package com.company;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;



public class threeSum {
public static void main(String[] args) {
int[] arr = {4, 1, 2, 1, 2};
singleNumber(arr);
}

public static int singleNumber(int[] nums) {
int single = 0;
for (int num : nums) {
single ^= num;
}
return single;
}
}

【代码2】

package com.company;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

public class threeSum {
public static void main(String[] args) {
int[] arr = {4, 1, 2, 1, 2};
singleNumber(arr);
}

public static int singleNumber(int[] nums) {
Map<Integer, Long> map = Arrays.stream(nums).boxed().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
int result = Integer.MIN_VALUE;
for (Map.Entry<Integer, Long> entry : map.entrySet()) {
if(entry.getValue() == 1){
result = entry.getKey();
System.out.println(result);
return result;
}
}
return result;
}
}


标签:java,数字,int,util,LeeCode,136,import,public,result
From: https://blog.51cto.com/u_13682316/5889191

相关文章