137:只出现一次的数字 II
This commit is contained in:
parent
f4b049d5c8
commit
a3bcde8087
66
src/main/java/leetcode/editor/cn/SingleNumberIi.java
Normal file
66
src/main/java/leetcode/editor/cn/SingleNumberIi.java
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
//给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 示例 1:
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//输入:nums = [2,2,3,2]
|
||||||
|
//输出:3
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 示例 2:
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//输入:nums = [0,1,0,1,0,1,99]
|
||||||
|
//输出:99
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 提示:
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 1 <= nums.length <= 3 * 104
|
||||||
|
// -231 <= nums[i] <= 231 - 1
|
||||||
|
// nums 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 进阶:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
|
||||||
|
// Related Topics 位运算
|
||||||
|
// 👍 565 👎 0
|
||||||
|
|
||||||
|
package leetcode.editor.cn;
|
||||||
|
|
||||||
|
import lombok.val;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
//137:只出现一次的数字 II
|
||||||
|
public class SingleNumberIi{
|
||||||
|
public static void main(String[] args) {
|
||||||
|
//测试代码
|
||||||
|
Solution solution = new SingleNumberIi().new Solution();
|
||||||
|
}
|
||||||
|
//力扣代码
|
||||||
|
//leetcode submit region begin(Prohibit modification and deletion)
|
||||||
|
class Solution {
|
||||||
|
public int singleNumber(int[] nums) {
|
||||||
|
Map<Integer,Integer> map = new HashMap<>();
|
||||||
|
for (int num :nums){
|
||||||
|
map.put(num,map.getOrDefault(num,0)+1);
|
||||||
|
}
|
||||||
|
for (int num:map.keySet()){
|
||||||
|
if(map.get(num)==1){
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//leetcode submit region end(Prohibit modification and deletion)
|
||||||
|
|
||||||
|
}
|
32
src/main/java/leetcode/editor/cn/SingleNumberIi.md
Normal file
32
src/main/java/leetcode/editor/cn/SingleNumberIi.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<p>给你一个整数数组 <code>nums</code> ,除某个元素仅出现 <strong>一次</strong> 外,其余每个元素都恰出现 <strong>三次 。</strong>请你找出并返回那个只出现了一次的元素。</p>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<p><strong>示例 1:</strong></p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<strong>输入:</strong>nums = [2,2,3,2]
|
||||||
|
<strong>输出:</strong>3
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p><strong>示例 2:</strong></p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<strong>输入:</strong>nums = [0,1,0,1,0,1,99]
|
||||||
|
<strong>输出:</strong>99
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<p><strong>提示:</strong></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><code>1 <= nums.length <= 3 * 10<sup>4</sup></code></li>
|
||||||
|
<li><code>-2<sup>31</sup> <= nums[i] <= 2<sup>31</sup> - 1</code></li>
|
||||||
|
<li><code>nums</code> 中,除某个元素仅出现 <strong>一次</strong> 外,其余每个元素都恰出现 <strong>三次</strong></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<p><strong>进阶:</strong>你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?</p>
|
||||||
|
<div><div>Related Topics</div><div><li>位运算</li></div></div>\n<div><li>👍 565</li><li>👎 0</li></div>
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user