求兩個陣列的交集 最長公共字首

2022-05-23 16:30:09 字數 831 閱讀 5049

解:兩個指標比較是否相等即可

class solution 

}return ans;}};

如果給定陣列已經排好序,優化版;

1,設定兩個指標,比較兩個指標指向元素,相同元素放進空白陣列

2;不同元素,將指標指向小的元素後移

3,重複以上步驟,知道任意乙個陣列終止

class solution 

} return ans; }};

...一定要初始化......

遍歷過後的陣列沒用,可以用來儲存答案,節省記憶體和空間;

第二種比第一種記憶體小;

找字串陣列中的最長公共字首;

解:將第乙個元素作為基準元素,依次將基準元素與後邊的每個元素相比較,不斷更新基準元素,直到基準元素和所有元素都滿足公共字首

如果基準元素和任意乙個元素無法匹配,不存在公共字首,直接退出。

特判一下陣列為空的情況。

compare(x0,x);(x0為基準元素,x為比較元素);

如果conpare(x0,x)==0,擷取掉x0的最後乙個元素,依次比較直到得出結果

比如flight和flow

flight ----flow 去掉t,h,g,i之後,字首為fl

**:

class solution 

idx++;

}return strs[0].substring(0,idx);​}

}

class solution        

return prefix;​}

}

第二中用時較短,記憶體消耗和第一種相同;分治應該也可以吧....

php 兩個陣列求交集 兩個陣列的交集 II

給定兩個陣列,編寫乙個函式來計算它們的交集。輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 輸出結果中每個元素出現的次數,應與元素在兩個陣列 現次數的最小值一致。我們可以不考慮輸出結果的順序。1.將兩個陣...

求兩個陣列的交集

問題 給你兩個排序的陣列,求兩個陣列的交集。比如 a 1 3 4 5 7,b 2 3 5 8 9,那麼交集就是 3 5.思路 1.每一次從b陣列中取一值,然後在a陣列裡逐個比較,如果有相等的,則儲存。該演算法複雜度為 o mn m,n 分別為陣列 a b 的長度。2.因為a b 都排過序,所以,每一...

求兩個陣列的交集

方法 先用a建立 有序二叉樹,然後用b中的數值依次在二叉樹中尋找,如果找到了,就增加到交集陣列中 複雜度 建立二叉樹的複雜度logn,在二叉樹中查詢的複雜度是 logn m 1 include stdio.h int commonarray 20 int com len 0 struct node ...