#2179
Count Good Triplets in an Array
expert · 1075 · lc hard +32 · verified · 65.8% accepted · 1,013 likes · top 71%
Description
You are given two 0-indexed arrays nums1 and nums2 of length n, both of which are permutations of [0, 1, ..., n - 1].
A good triplet is a set of 3 distinct values appearing in increasing index order in both nums1 and nums2. Specifically, a set (x, y, z) is good when pos1x < pos1y < pos1z and pos2x < pos2y < pos2z, where pos1v and pos2v denote the indices of value v in nums1 and nums2 respectively.
Return the total number of good triplets.
Example 1:
Input: nums1 = [2,0,1,3], nums2 = [0,1,2,3]
Output: 1
Explanation:
There are 4 triplets (x,y,z) such that pos1x < pos1y < pos1z. They are (2,0,1), (2,0,3), (2,1,3), and (0,1,3).
Out of those triplets, only the triplet (0,1,3) satisfies pos2x < pos2y < pos2z. Hence, there is only 1 good triplet.
Example 2:
Input: nums1 = [4,0,1,3,2], nums2 = [4,1,0,2,3]
Output: 4
Explanation: The 4 good triplets are (4,0,3), (4,0,2), (4,1,3), and (4,1,2).
Code
1
2
3