已解决
【Leetcode】【简单】136.只出现一次的数字
来自网友在路上 143843提问 提问时间:2023-10-19 21:39:45阅读次数: 43
最佳答案 问答题库438位专家为你答疑解惑
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/single-number/description/
给你一个 非空 整数数组 nums
,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
你必须设计并实现线性时间复杂度(O(n))的算法来解决此问题,且该算法只使用常量额外空间(O(1))。
示例 1 :
输入:nums = [2,2,1] 输出:1
示例 2 :
输入:nums = [4,1,2,1,2] 输出:4
示例 3 :
输入:nums = [1] 输出:1
自己的思路
遍历目标数组nums,使用Map存储<key, value>,其中key是nums的元素,value是元素出现的次数。
元素出现分两种情况讨论
1、元素第一次出现:初始化value为1
2、元素不是第一次出现,获取value的值,然后+1
代码实现
class Solution {public int singleNumber(int[] nums) {int len = nums.length;Map<Integer, Integer> hashMap = new HashMap<>();for (int i = 0; i < len; i++) {if (hashMap.containsKey(nums[i])) {hashMap.put(nums[i], hashMap.get(nums[i]) + 1);} else {hashMap.put(nums[i], 1);}}for (Map.Entry<Integer, Integer> entry : hashMap.entrySet()) {if (entry.getValue() == 1) {return entry.getKey();}}return -1;}
}
力扣官方题解(待更新)
查看全文
99%的人还看了
相似问题
- 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
- CSS中常用的伪元素选择器
- XmlElement注解在Java的数组属性上,以产生多个相同的XML元素
- Web 自动化神器 TestCafe(二)—元素定位篇
- 代码随想录算法训练营第一天|数组理论基础,704. 二分查找,27. 移除元素
- 代码随想录算法训练营第五十九天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
- JAXB:用XmlElement注解复杂类型的Java属性,来产生多层嵌套的xml元素
- Arcgis js Api日常天坑问题3——加载geojson图层,元素无属性
- 〖大前端 - 基础入门三大核心之JS篇㊳〗- DOM访问元素节点
- 力扣.82删除链表中的重复元素(java语言实现)
猜你感兴趣
版权申明
本文"【Leetcode】【简单】136.只出现一次的数字":http://eshow365.cn/6-19839-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: [Python进阶] Python中路径、文件(夹)相关知识及库
- 下一篇: 推荐系统(RS)