本文主要是介绍Two Sum - Greater than target,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Given an array of integers, find how many pairs in the array such that their sum is bigger than a specific target number. Please return the number of pairs.
这种题目,相当于是固定一个然后变化另外一个,然后统计总数
java
public class Solution {/** @param nums: an array of integer* @param target: An integer* @return: an integer*/public int twoSum2(int[] nums, int target) {// write your code hereif (nums == null || nums.length < 2) {return 0;}Arrays.sort(nums);int left = 0;int right = 1;int value = 0;int count = 0;while (left < nums.length - 1) {if (right < nums.length) {value = nums[left] + nums[right];if (right < nums.length && value <= target) {right++;} else {count += (nums.length - right);left++;right = left + 1;}} else {left++;right = left + 1;}}return count;}
}
python
class Solution:"""@param: nums: an array of integer@param: target: An integer@return: an integer"""def twoSum2(self, nums, target):# write your code hereif nums == None or len(nums) < 2:return 0left, right = 0, len(nums) - 1value, count = 0, 0nums.sort()while left < right:value = nums[left] + nums[right]if left < right and value <= target:left += 1if left < right and value > target:count += (right - left)right -= 1return count
这篇关于Two Sum - Greater than target的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!