题目1 题解1 class Solution: def containsDuplicate(self, nums: List[int]) -> bool: seen = set() i = 0 n = len(nums) while i < n: if nums[i] not in seen: seen.add(nums[i]) else: return True i += 1 return False 附上题目链接 题目2 题解2 class Solution: def isIsomorphic(self, s: str, t: str) -> bool: # 判断每个元素的位置 return [s.index(i) for i in s] == [t.index(i) for i in t] 附上题目链接 题目3 题解3 class Solution(object): def countPrimes(self, n): """ 埃拉托斯特尼筛法 """ if n < 2: return 0 # 初始化,默认每一值为1 isPrime = [1] * n isPrime[0] = isPrime[1] = 0 # 0和1不是质数,先排除掉 # 埃式筛,把不大于根号n的所有质数的倍数剔除 #首先从 2 开始,我们知道 2 是一个素数,那么 2 × 2 = 4, 3 × 2 = 6, 4 × 2 = 8... 都不可能是素数了。 #然后我们发现 3 也是素数,那么 3 × 2 = 6, 3 × 3 = 9, 3 × 4 = 12... 也都不可能是素数了。 # 从2*2开始到n的倍数包括了2*3,所以3不用从3*2开始,直接从3*3开始 for i in range(2, int(n ** 0.5) + 1): if isPrime[i]: # ((n - 1 - i * i) // i + 1) 记录下i**i到n中的i倍 isPrime[i * i:n:i] = [0] * ((n - 1 - i * i) // i + 1) return sum(isPrime) 附上题目链接