题目:
给你一个 非空 整数数组
nums
,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
示例:
示例 1:
输入:nums = [2,2,1]
输出:1
示例 2:
输入:nums = [4,1,2,1,2]
输出:4
示例 3:
输入:nums = [1]
输出:1
解法:
使用Counter记录每个数字出现的次数,返回值为1的键。
代码:
pythonfrom collections import Counter class Solution: def singleNumber(self, nums: List[int]) -> int: counter = Counter(nums) for k, v in counter.items(): if v == 1: return k
力扣:136. 只出现一次的数字(Python3)
恽劼恒2023-10-24 8:39
相关推荐
我搞slam2 小时前
快乐数--leetcodeWWZZ20252 小时前
快速上手大模型:机器学习3(多元线性回归及梯度、向量化、正规方程)应用市场3 小时前
构建自定义命令行工具 - 打造专属指令体东方佑3 小时前
从字符串中提取重复子串的Python算法解析西阳未落4 小时前
LeetCode——二分(进阶)通信小呆呆4 小时前
以矩阵视角统一理解:外积、Kronecker 积与 Khatri–Rao 积(含MATLAB可视化)Dfreedom.4 小时前
一文掌握Python四大核心数据结构:变量、结构体、类与枚举一半烟火以谋生4 小时前
Python + Pytest + Allure 自动化测试报告教程CoderCodingNo5 小时前
【GESP】C++四级真题 luogu-B4068 [GESP202412 四级] Recamán一个不知名程序员www5 小时前
算法学习入门---双指针(C++)