LeetCode 2657. Find the Prefix Common Array of Two Arrays
You are given two?0-indexed?integer?permutations?A
?and?B
?of length?n
.
A?prefix common array?of?A
?and?B
?is an array?C
?such that?C[i]
?is equal to the count of numbers that are present at or before the index?i
?in both?A
?and?B
.
Return?the?prefix common array?of?A
?and?B
.
A sequence of?n
?integers is called a?permutation?if it contains all integers from?1
?to?n
?exactly once.
?
Example 1:
Input: A = [1,3,2,4], B = [3,1,2,4]
Output: [0,2,3,4]
Explanation:?
At i = 0: no number is common, so C[0] = 0.?
At i = 1: 1 and 3 are common in A and B, so C[1] = 2.?
At i = 2: 1, 2, and 3 are common in A and B, so C[2] = 3.?
At i = 3: 1, 2, 3, and 4 are common in A and B, so C[3] = 4.
Example 2:
Input: A = [2,3,1], B = [3,1,2]
Output: [0,1,3]
Explanation:?
At i = 0: no number is common, so C[0] = 0.?
At i = 1: only 3 is common in A and B, so C[1] = 1.?
At i = 2: 1, 2, and 3 are common in A and B, so C[2] = 3.
?
Constraints:
1 <= A.length == B.length == n <= 50
1 <= A[i], B[i] <= n
It is guaranteed that A and B are both a permutation of n integers.
判斷前i個(gè)位置有相同的數(shù)字的個(gè)數(shù);
這里面用一個(gè)集合去存儲兩個(gè)數(shù)組前i個(gè)數(shù),當(dāng)下一個(gè)出線新的數(shù)字的時(shí)候,如果存在就++;
當(dāng)然如果2個(gè)相等,直接++即可;
所有可能性都想到了,就返回即可;
一開始是想用的笨的方法;以后還是多想想快速的解決方案了。。。
Runtime:?5 ms, faster than?77.64%?of?Java?online submissions for?Find the Prefix Common Array of Two Arrays.
Memory Usage:?43.7 MB, less than?15.92%?of?Java?online submissions for?Find the Prefix Common Array of Two Arrays.