这道题本身不难,但如果加上条件,要求时间复杂度为线性,不使用额外的空间,就有了一些难度。在看评论时发现了使用异或来解决这个问题的解法,觉得很巧妙,记录一下。
首先,题目:
题目
基本思想就是下面这张图:
解题思想
还有一种很简单的做法,直接贴代码了:
···
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return sum(set(nums))*2-sum(nums)
···
这道题本身不难,但如果加上条件,要求时间复杂度为线性,不使用额外的空间,就有了一些难度。在看评论时发现了使用异或来解决这个问题的解法,觉得很巧妙,记录一下。
首先,题目:
基本思想就是下面这张图:
还有一种很简单的做法,直接贴代码了:
···
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return sum(set(nums))*2-sum(nums)
···
本文标题:力扣leetcode 136巧妙解法
本文链接:https://www.haomeiwen.com/subject/amfrgctx.html
网友评论