2179. Count Good Triplets in an Array Hard

@problem@discussion
#Array#Binary Search#Divide and Conquer#Binary Indexed Tree#Segment Tree#Merge Sort#Ordered Set



1/**
2 * [2179] Count Good Triplets in an Array
3 *
4 * You are given two 0-indexed arrays nums1 and nums2 of length n, both of which are permutations of [0, 1, ..., n - 1].
5 * A good triplet is a set of 3 distinct values which are present in increasing order by position both in nums1 and nums2. In other words, if we consider pos1v as the index of the value v in nums1 and pos2v as the index of the value v in nums2, then a good triplet will be a set (x, y, z) where 0 <= x, y, z <= n - 1, such that pos1x < pos1y < pos1z and pos2x < pos2y < pos2z.
6 * Return the total number of good triplets.
7 *  
8 * Example 1:
9 * 
10 * Input: nums1 = [2,0,1,3], nums2 = [0,1,2,3]
11 * Output: 1
12 * Explanation: 
13 * 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). 
14 * Out of those triplets, only the triplet (0,1,3) satisfies pos2x < pos2y < pos2z. Hence, there is only 1 good triplet.
15 * 
16 * Example 2:
17 * 
18 * Input: nums1 = [4,0,1,3,2], nums2 = [4,1,0,2,3]
19 * Output: 4
20 * Explanation: The 4 good triplets are (4,0,3), (4,0,2), (4,1,3), and (4,1,2).
21 * 
22 *  
23 * Constraints:
24 * 
25 * 	n == nums1.length == nums2.length
26 * 	3 <= n <= 10^5
27 * 	0 <= nums1[i], nums2[i] <= n - 1
28 * 	nums1 and nums2 are permutations of [0, 1, ..., n - 1].
29 * 
30 */
31pub struct Solution {}
32
33// problem: https://leetcode.com/problems/count-good-triplets-in-an-array/
34// discuss: https://leetcode.com/problems/count-good-triplets-in-an-array/discuss/?currentPage=1&orderBy=most_votes&query=
35
36// submission codes start here
37
38impl Solution {
39    pub fn good_triplets(nums1: Vec<i32>, nums2: Vec<i32>) -> i64 {
40        
41    }
42}
43
44// submission codes end
45
46#[cfg(test)]
47mod tests {
48    use super::*;
49
50    #[test]
51    fn test_2179() {
52    }
53}
54


Back
© 2025 bowen.ge All Rights Reserved.