Given an array of integers nums
.
A pair (i,j)
is called good if nums[i] == nums[j]
and i < j
.
Return the number of good pairs.
Example 1:
Input: nums = [1,2,3,1,1,3]
Output: 4
Explanation: There are 4 good pairs (0,3), (0,4), (3,4), (2,5) 0-indexed.
Example 2:
Input: nums = [1,1,1,1]
Output: 6
Explanation: Each pair in the array are good.
Example 3:
Input: nums = [1,2,3]
Output: 0
Constraints:
1 <= nums.length <= 100
1 <= nums[i] <= 100
Brute force solution.
- Wednesday, 21 October, 2020
- Time Complexity:
$O(n^{2})$ - Space Complexity:
$O(1)$ - Runtime: 0 ms, faster than 100.00% of C online submissions for Number of Good Pairs.
- Memory Usage: 6.1 MB, less than 78.65% of C online submissions for Number of Good Pairs.
int numIdenticalPairs(int *nums, int numsSize) {
int good_pairs = 0;
for (int i = 0; i < numsSize; i++) {
// Start from the next element.
for (int j = i + 1; j < numsSize; j++) {
if (nums[i] == nums[j]) {
good_pairs += 1;
}
}
}
return good_pairs;
}
- Try to output these pairs follow this format:
(i,j),(i,j),(i,j)...
. - Find a python solution which returns a list.