1112. 寻找数据错误
中文English
集合S
中原本包含数字1
到n
。但不幸的是,由于数据错误集合中的一个数变成了集合中的另一个数,这导致集合中有两个重复的数,并且集合中缺失了1
到n
的某个数。
给定数组nums
,表示发生错误后的数组,以数组的形式返回重复的数值和缺失的数值。
样例
样例 1:
输入: nums = [1,2,2,4]
输出: [2,3]
解释:
2是重复的数,3是缺失的数。
样例 2:
输入: nums = [1,3,3,4]
输出: [3,2]
解释:
3是重复的数,2是缺失的数。
注意事项
1.数组的大小范围为[2, 10000]。
2.数组元素是无序的。
输入测试数据 (每行一个参数)如何理解测试数据?
class Solution: """ @param nums: an array @return: the number occurs twice and the number that is missing """ ‘‘‘ 大致思路: 1.初始化result = [],dic = {},格式{1:count,2:count...},每次循环都加到dic里面来,如果出现值存在dic里面的话,说明是第二次输入,重复的数值 2.如果是没有出现的话,则为没有出现的数值。 ‘‘‘ def findErrorNums(self,nums): dic,result= {},[] ##取出重复的数值 for i in nums: if i in dic: result.append(i) dic[i] = 1 ##取出空的数值 for j in range(1,len(nums)+1): if j not in dic: result.append(j) return result
原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12684505.html
时间: 2024-10-19 01:33:57