Set Mismatch
阿新 • • 發佈:2017-09-09
通過 復雜度 添加 self ges 思路 ima int mis
這道題是簡單題
題目:
思路:
1、我的思路:for循環1到n的自然數,nums列表刪除i,如果捕獲到異常,就在後面nums後面添加i,最後返回nums。但是這樣做復雜度太高,程序運行會超時,所以需要改進
2、另外加入一個列表b,循環nums列表對應b[i] + 1,最後遍歷b列表,返回b[i]等於2和0的i值
代碼:
1、超時代碼:
1 class Solution(object): 2 def findErrorNums(self, nums): 3 """ 4 :type nums: List[int]5 :rtype: List[int] 6 """ 7 8 for i in range(1,len(nums)+1): 9 try: 10 nums.remove(i) 11 12 except ValueError: 13 nums.append(i) 14 return nums
2、通過代碼:
1 class Solution(object): 2 deffindErrorNums(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: List[int] 6 """ 7 8 a = len(nums) 9 b = [0] * (a+1) 10 for i in nums: 11 b[i] += 1 12 for i in range(1, a+1): 13 if b[i] == 2: c = i14 if b[i] == 0: d = i 15 return c, d
Set Mismatch