給定兩個(gè)數(shù)組,寫一個(gè)方法來計(jì)算它們的交集。
例如:
給定?nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回?[2, 2].
注意:
輸出結(jié)果中每個(gè)元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個(gè)數(shù)組中出現(xiàn)的次數(shù)一致君珠。我們可以不考慮輸出結(jié)果的順序。
思路:先將集合數(shù)組進(jìn)行排序,然后定義一個(gè)新的集合數(shù)組(長度與數(shù)組1相同)用于裝返回結(jié)果馍惹,定義三個(gè)下標(biāo)變量,從兩個(gè)數(shù)組的第一個(gè)元素開始遍歷玛界,相同就將該元素的值賦給新數(shù)組万矾,三個(gè)下表變量同時(shí)加1,否則慎框,當(dāng)數(shù)組1的元素小于數(shù)組2的元素時(shí)良狈,數(shù)組1的下標(biāo)加1,否則數(shù)組2加1.最后將返回?cái)?shù)據(jù)的個(gè)數(shù)進(jìn)行處理笨枯,因?yàn)閞esult數(shù)組的長度是與nums1相同的薪丁,但是相同元素的個(gè)數(shù)可能小于nums1的個(gè)數(shù),而只有t個(gè)
思路2:先將集合數(shù)組進(jìn)行排序馅精,然后定義一個(gè)新的空集合數(shù)組用于裝返回結(jié)果严嗜,定義三個(gè)下標(biāo)變量,從兩個(gè)數(shù)組的第一個(gè)元素開始遍歷硫嘶,相同就將該元素的值插入新數(shù)組阻问,三個(gè)下表變量同時(shí)加1,否則沦疾,當(dāng)數(shù)組1的元素小于數(shù)組2的元素時(shí)称近,數(shù)組1的下標(biāo)加1,否則數(shù)組2加1.