diff --git a/2563. Count the Number of Fair Pairs1 b/2563. Count the Number of Fair Pairs1 new file mode 100644 index 0000000..9a2aae5 --- /dev/null +++ b/2563. Count the Number of Fair Pairs1 @@ -0,0 +1,23 @@ +class Solution { +public: + long long countFairPairs(vector& nums, int lower, int upper) { + sort(nums.begin(), nums.end()); + return lower_bound(nums, upper + 1) - lower_bound(nums, lower); + } + +private: + long long lower_bound(vector& nums, int value) { + int left = 0, right = nums.size() - 1; + long long result = 0; + while (left < right) { + int sum = nums[left] + nums[right]; + if (sum < value) { + result += (right - left); + left++; + } else { + right--; + } + } + return result; + } +};