2657。找出兩個數組的前綴公共數組
難度:中
主題:陣列、雜湊表、位元操作
給你兩個0索引長度為n的整數排列A和B。
A 和 B 的 A 前綴公共數組 是一個數組 C,使得 C[i] 等於 A 和 B 中索引 i 處或之前出現的數字的計數。
傳回A和B的前綴公共數組。
如果 n 個整數的序列包含從 1 到 n 的所有整數恰好一次,則該序列稱為排列。
範例1:
範例2:
約束:
提示:
解:
我們可以迭代兩個陣列 A 和 B,同時追蹤兩個陣列中目前索引處或之前出現的數字。由於兩個數組都是同一組數字的排列,因此我們可以利用兩個雜湊集(或數組)來儲存哪些數字出現在兩個數組中的目前索引處或之前。對於每個索引,我們可以計算到目前為止兩個陣列中出現的公共數字。讓我們用 PHP 實作這個解:2657。找出兩個陣列的前綴公共數組
<?php /** * @param Integer[] $A * @param Integer[] $B * @return Integer[] */ function findThePrefixCommonArray($A, $B) { ... ... ... /** * go to ./solution.php */ } // Example usage: $A = [1, 3, 2, 4]; $B = [3, 1, 2, 4]; print_r(findThePrefixCommonArray($A, $B)); // Output: [0, 2, 3, 4] $A = [2, 3, 1]; $B = [3, 1, 2]; print_r(findThePrefixCommonArray($A, $B)); // Output: [0, 1, 3] ?>
輸入:
$A = [1, 3, 2, 4]; $B = [3, 1, 2, 4];
輸出:[0,2,3,4]
這應該在給定的限制下有效地工作。
聯絡連結
如果您發現本系列有幫助,請考慮在 GitHub 上給 存儲庫 一個星號或在您最喜歡的社交網絡上分享該帖子? 。您的支持對我來說意義重大!
如果您想要更多類似的有用內容,請隨時關注我:
以上是尋找兩個數組的前綴公共數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!