用Python语言实现算法
写这篇博客用于记录解题中的成长。
#961. 在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次
返回重复了 N 次的那个元素。(Type: easy)
例1
输入: [1,2,3,3]
输出: 3
例2:
输入:[2,1,2,5,3,2]
输出:2
例3
输入: [5,1,5,2,5,3,5,4]
输出:5
#-*-coding:utf-8-*-
class Solution:
def duplicate(self,A):
#预先判断列表的值不为空或者只有一个元素
if len(A) <= 1:
return False
l = []
for i in A:
if i not in l:
l.append(i)
else:
return i
#219. 给定一个整数数组nums和一个整数k,判断数组中是否存在两个任意数字 i 和 j 满足num[i] =nums[j],并且i和j的绝对值之差不大于k。如果存在返回true,否则返回false。(Type:easy)
例1
输入:nums = [1,2,3,1], k = 3
输出:true
例2
输入:nums = [1,0,1,1], k = 1
输出:true
例3
输入:nums = [1,2,3,1,2,3], k = 2
输出:false
class Solution:
def duplicate_element(self,nums,k):
if len(nums) == 0:
return False
dic = {}
for i in range(len(nums)):
if nums[i] in dic:
if i - dic[nums[i]] <= k:
return True
dic[num[i]] = i
return False