桓台县网站建设建设银行手机官方网站下载
2026/2/10 11:45:55 网站建设 项目流程
桓台县网站建设,建设银行手机官方网站下载,公司的网站建设 交给谁做更好些,wordpress mysql安装小力将 N 个零件的报价存于数组 nums。小力预算为 target#xff0c;假定小力仅购买两个零件#xff0c;要求购买零件的花费不超过预算#xff0c;请问他有多少种采购方案。注意#xff1a;答案需要以 1e9 7 (1000000007) 为底取模#xff0c;如#xff1a;计算初始结果…小力将 N 个零件的报价存于数组nums。小力预算为target假定小力仅购买两个零件要求购买零件的花费不超过预算请问他有多少种采购方案。注意答案需要以1e9 7 (1000000007)为底取模如计算初始结果为1000000008请返回1思路因为只需要买两个零件考虑到只需要计算两个数值的和是否在预算以内即可故而采用双指针的办法依次判断之和是否满足条件即可。最后结果对1000000007取余即可因为可能零件和预算变大之后方法也会变多。主要难理解的可能是其中判断依据排序后为什么是right-left是一个数学问题他如果最小的和最大的和满足题意等价于一个搭配问题两个两个取能取几次是个排列问题他的次数为最右边的序数减去最左边的序数就是次数。class Solution: def purchasePlans(self,nums:List[int],target:int)-int: left,right0,len(nums)-1 count0 nums.sort() while leftright: if nums[left]nums[right]target: countright-left left1 else: right-1 return count%1000000007难点分析排序保证了 “单调性”左指针固定时右指针往左的所有数都更小因此和左指针的和也更小双指针的 “贪心”找到最大的合法右指针就能覆盖所有更小的右指针的合法情况计数的 “数学本质”left1到right的元素个数 终止索引 - 起始索引 right - left起始索引是 left1终止索引是 right → 个数 right - (left1) 1 right - left。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询