摘要:描述給定兩個數組,編寫一個函數來計算它們的交集。示例輸入輸出示例輸入輸出說明輸出結果中每個元素出現的次數,應與元素在兩個數組中出現的次數一致。我們可以不考慮輸出結果的順序。思路對數組進行排序。如果所在的元素大,則向后走一步。
Description
Given two arrays, write a function to compute their intersection.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2,2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [4,9]
Note:
Each element in the result should appear as many times as it shows in both arrays.
The result can be in any order.
給定兩個數組,編寫一個函數來計算它們的交集。
示例 1:
輸入: nums1 = [1,2,2,1], nums2 = [2,2]
輸出: [2,2]
示例 2:
輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出: [4,9]
說明:
輸出結果中每個元素出現的次數,應與元素在兩個數組中出現的次數一致。
我們可以不考慮輸出結果的順序。
對數組進行排序。
對每個數組分別用一個指針 i,j,如果 i,j 指向的元素相等,則將這個元素放入到結果數組中,i, j 同時向后走一步。
如果 i 所在的元素大,則 j 向后走一步。
如果 j 所在的元素大,則 i 向后走一步。
# -*- coding: utf-8 -*- # @Author: 何睿 # @Create Date: 2019-04-09 16:31:05 # @Last Modified by: 何睿 # @Last Modified time: 2019-04-09 16:43:17 class Solution: def intersect(self, nums1: [int], nums2: [int]) -> [int]: nums1.sort(), nums2.sort() count1, count2 = len(nums1), len(nums2) i, j, res = 0, 0, [] # 相同的部分一定在前面 while i < count1 and j < count2: # 如果相等,添加到結果數組中 if nums1[i] == nums2[j]: res.append(nums1[i]) i, j = i + 1, j + 1 # 如果數組二的數大,將數組一的索引自增一次 elif nums1[i] < nums2[j]: i += 1 # 如果數組一的數大,將數組二的索引自增一次 elif nums1[i] > nums2[j]: j += 1 return res
源代碼文件在 這里 。
?本文首發于 何睿的博客 ,歡迎轉載,轉載需保留 文章來源 ,作者信息和本聲明.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43551.html
Intersection of Two Arrays I Problem Given two arrays, write a function to compute their intersection. Example Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. Note Each element in the result m...
摘要:在線網站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學習。 這篇文章記錄我練習的 LeetCode 題目,語言 JavaScript。 在線網站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經到題,所以后面會調整自己,在刷算法與數據結構的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區別...
摘要:先想到的是,其實也可以,只是需要在遍歷的時候,添加到數組中的數要掉,略微麻煩了一點。在里跑的時候,也要快一點。另一種類似做法的就快的多了。如果是找出所有包括重復的截距呢 Problem Given two arrays, write a function to compute their intersection. Notice Each element in the result m...
摘要:題目要求找出兩個無序數組中重合的值。先將兩個數組分別排序,排序完成之后再用兩個指針分別比較兩個數組的值。如果兩個指針指向的值相同,則向結果集中添加該元素并且同時將兩個指針向前推進。答案是為其中一個數組通過建立索引的方式排序。 題目要求 Given two arrays, write a function to compute their intersection. Example: ...
閱讀 1839·2021-09-14 18:03
閱讀 2274·2019-08-30 15:48
閱讀 1129·2019-08-30 14:09
閱讀 515·2019-08-30 12:55
閱讀 2735·2019-08-29 11:29
閱讀 1494·2019-08-26 13:43
閱讀 2318·2019-08-26 13:30
閱讀 2376·2019-08-26 12:17