小力将 N 个零件的报价存于数组 nums。小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。
注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1
import java.util.Arrays;
class Solution {
public int purchasePlans(int[] nums, int target) {
long ans = 0;
long mod = 1000000007;
Arrays.sort(nums);
for(int l = 0, r = nums.length - 1; l < r; l++){
while(l < r && nums[l] + nums[r] > target) r--;
if(l < r) ans += r - l;
}
return (int)(ans % mod);
}
}