作者sustainer123 (溫水佳樹的兄長大人)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Tue Jan 14 19:22:23 2025
※ 引述 《dont (dont)》 之銘言:
:
: 2657. Find the Prefix Common Array of Two Arrays
:
: ## 思路
:
: 掃Array, 把A[i], B[i]的bit設1
: 檢查兩個mask &之後的bits數
:
: ## Code
:
: ```cpp
: class Solution {
: public:
: vector<int> findThePrefixCommonArray(vector<int>& A, vector<int>& B) {
: int n = A.size();
:
: bitset<51> maskA=0, maskB=0;
: vector<int> res(n, 0);
: for (int i=0; i<n; ++i) {
: maskA[A[i]] = 1;
: maskB[B[i]] = 1;
: res[i] = (maskA & maskB).count();
: }
: return res;
: }
: };
: ```
:
思路:
掃過去 看當前元素有沒有在兩個字串出現過
Python Code:
class Solution:
def findThePrefixCommonArray(self, A: List[int], B: List[int]) -> List[int]:
tmp = 0
result = []
for i in range(len(A)):
if A[i] in A[:i+1] and A[i] in B[:i+1]:
tmp += 1
if B[i] in A[:i+1] and B[i] in B[:i+1]:
tmp += 1
if A[i] == B[i]:
tmp -= 1
result.append(tmp)
return result
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.241.201 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1736853745.A.232.html
推 oin1104: 大師 01/14 19:23
推 DJYOMIYAHINA: 大師 01/14 19:26
推 deatheo: 大師 01/14 19:38
推 Meaverzt: 大師 01/14 20:05