350. 兩個陣列的交集 II-Python-LeetCode
一、題目
給定兩個陣列,編寫一個函式來計算它們的交集。
例1:
輸入: nums1 = [1,2,2,1], nums2 = [2,2]
輸出: [2,2]
例2:
輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出: [4,9]
說明:
- 輸出結果中每個元素出現的次數,應與元素在兩個陣列中出現的次數一致
- 我們可以不考慮輸出結果的順序
二、解法
首先把兩個陣列都排序,然後兩個陣列進行遍歷比較,
當值相等時,兩個陣列都往後移動一位,並且相等的那個值加入到 result
陣列中
當值不相等時,值小的陣列往後移動一位(因為我們已經排序過了,如果是值大的陣列往後移動一位,那麼肯定還是比值小的要大)
程式碼如下:
nums1.sort()
nums2.sort()
result = []
i, j = 0, 0
while i<len(nums1) and j<len(nums2):
if nums1[i]==nums2[j]:
result.append(nums1[i])
i += 1
j += 1
elif nums1[i]>nums2[j]:
j += 1
elif nums1[i]<nums2[j]:
i += 1
return result
時間 52ms,擊敗了 93%
結語
歡迎關注我的公眾號
瘋子的Python筆記
相關推薦
350. 兩個陣列的交集 II-Python-LeetCode
一、題目 二、解法 結語 一、題目 給定兩個陣列,編寫一個函式來計算它們的交集。 例1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 例2:
leetcode 350. 兩個陣列的交集 II python
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4
【LeetCode】 350. 兩個陣列的交集 II
1.題目 給定兩個陣列,編寫一個函式來計算它們的交集。 2.思路 此題對第一題的區別在於可以輸出相同數字 例如:輸入【1,2,2,1】,【2,2】;輸出【2,2】 step1:遍歷兩個向量; step2:把兩個陣列重複的元素加入到vector res中(可以
Leetcode 350.兩個陣列的交集|| By Python
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9] 說明: 輸出結果中每個元素
LeetCode之350. 兩個陣列的交集 II
運用的知識: 對映 。 參考:自定義對映(Map) 題目描述: 給
350. 兩個陣列的交集 II (python)
一. 題目 給定兩個陣列,寫一個方法來計算它們的交集。 例如: 給定nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2]. 注意: 輸出結果中每個元素出現的次數,應與元素在兩個陣列中出現的次數一致。 我們可以不考慮
LeetCode 350. 兩個陣列的交集 II
給定兩個陣列,寫一個方法來計算它們的交集。例如:給定nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意: 輸出結果中每個元素出現的次數,應與元素在兩個陣列中出現的次數一致。 我們可以不考慮輸出結果的順序。跟進:如果給定的
【Leetcode】【簡單】【350. 兩個陣列的交集 II】【JavaScript】
題目描述 350. 兩個陣列的交集 II 給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2]輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]輸出: [4,9] 說明
350. 兩個陣列的交集 II
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9]
LeetCode陣列-350.兩個陣列的交集||
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,
350.兩個陣列的交集II
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9]
350. 兩個陣列的交集
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9]
leetcode349:兩個陣列交集
思想: 題目要求給定兩個陣列,編寫一個函式來計算它們的交集。 1.定義變數ans儲存兩個陣列的交集 2.將nums1和nums2去重 3.判斷nums1中的元素num是否在nums2中,若在則新增ans中,不在則繼續for迴圈 class Solution(object):
【LeetCode】350. Intersection of Two Arrays II(兩個陣列的交集 II)-map實現
問題描述: 實現程式碼:. #include <iostream> #include <vector> #include <map> using namespace std; // 時間複雜度: O(nlogn) // 空間複雜
LeetCode題目-- 兩個陣列的交集 II(python實現)
題目 給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: num
LeetCode刷題記錄——第350題(兩個陣列的交集 II)
題目描述 給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,
Leetcode刷題(python)之 兩個陣列的交集 II
給定兩個陣列,寫一個方法來計算它們的交集。例如:給定nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意: 輸出結果中每個元素出現的次數,應與元素在兩個陣列中出現的次數一致。 我們可以不考慮輸出結果的順序。跟進:如果給定的
[LeetCode]兩個陣列的交集 II
[LeetCode]兩個陣列的交集 II 給定兩個陣列,寫一個方法來計算它們的交集。 例如: 給定* ***nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2]. 注意: * * 輸出結果中每個元素出現的次數,應與
Leetcode 兩個陣列的交集 II(c++)
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9] 說明:
C++ Leetcode初級演算法之兩個陣列的交集 II
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9] 說明: 輸