Leetcode做題記錄 349 兩個陣列的交集

2021-10-18 10:45:11 字數 786 閱讀 7058

將兩個陣列進行排序,再使用雙指標,遍歷兩個陣列,遇到相等的,將元素值新增到要返回的陣列中,如果不相等,則將元素值較小的那乙個的指標向右移動,直到有乙個指標超出它指向的陣列的長度。最後,使用集合set()的性質實現去重。

class

solution

:def

intersection

(self, nums1: list[

int]

, nums2: list[

int])-

> list[

int]

:# 集合求交集,偷懶的解法

#return (set(nums1) & set(nums2))

# 排序+雙指標

nums1.sort(

) nums2.sort(

) i, j =0,

0 re =

while i <

len(nums1)

and j <

len(nums2)

:if nums1[i]

< nums2[j]

: i +=

1elif nums1[i]

> nums2[j]

: j +=

1else:)

i +=

1 j +=

1# 利用集合的性質實現去重

return

set(re)

leetcode做題記錄0010

只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。一碰到難度是困難的就不會做了。用動態規劃 dp i j 代表了s的前i個字元和p的前j個字元是否匹配,算上0的話,顯然dp的大小是 s.length 1 p.length 1 dp 0 0 兩...

leetcode做題記錄0014

只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。第一遍提交擊敗37 的使用者,一模一樣的 又提交了一遍,擊敗82 的使用者。所以這個到底有啥意義。陣列長度為0或1直接return。寫乙個方法判斷所有字串第num個字元是否相同。找到陣列裡最短...

leetcode做題記錄0050

只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。直接乙個乙個乘的話會超時,試過了。這題有點像數學題。3 193 319可以這樣做 3 19 324 21 2 0 32 4 32 1 32 03 3 3 cdot 3 cdot 3 319 3...