https://leetcode.com/problems/intersection-of-two-arrays-ii/
你会得到两组数列num1、num2 ,请回传两组数列的交集
一开始有想到两种解法
第一种是先比较两者的长度,之後把短的那组数列出现的数字对对看长的那组有没有出现,有的话就把它记录起来并从厂的那组数列删掉
class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
if len(nums1) > len(nums2):
nums1, nums2 = nums2, nums1
ans = []
for i in nums1:
if i in set(nums2):
n = nums2.pop(nums2.index(i))
ans.append(n)
return ans
第二种是先把两组数列都排序,排完後从两组数列的第一个数字同时比较:
class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
nums1.sort()
nums2.sort()
ptr1 = 0
ptr2 = 0
ans = []
while ptr1 != len(nums1) and ptr2 != len(nums2):
if nums1[ptr1] > nums2[ptr2]:
ptr2 += 1
elif nums1[ptr1] < nums2[ptr2]:
ptr1 += 1
else:
ans.append(nums1[ptr1])
ptr1 += 1
ptr2 += 1
return ans
今天题目是简单题目,在discussion有很多蛮有趣的解法
我的解法都只是基本中的基本
>>: [ 卡卡 DAY 2 ] - React Native 是什麽? 原理?优点?
electronic mail 三要件 1. user agents(UA) 邮件使用者代理人,也叫...
早安安! 今天是Python基本介绍的最後一天了~ 6天真的太短了,有好多东西想讲但都讲不完 ಥ⌣ಥ...
今日kata 原始题目如下:(4kyu) Write a function validSolutio...
今天在翻旧code的时候,看到了 Partial 的写法,所幸来查查这到底是什麽意思.弄懂了之後看c...
在开始进入复杂的内容之前,我想先带大家认识几个会大量出现在每一个测试程序码里的核心语法,这些语法如果...