当前位置: 首页 > news >正文

网站建设创业百度的合作网站有哪些

网站建设创业,百度的合作网站有哪些,优设网文案下载,中企动力科技有限公司leetcode LCP 28. 采购方案 小力将 N 个零件的报价存于数组 nums。小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。 注意:答案需要以 1e9 7 (1000000007) 为底取模&#xff0c…

leetcode LCP 28. 采购方案

小力将 N 个零件的报价存于数组 nums。小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。

注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1

示例 1

输入:nums = [2,5,3,5], target = 6

输出
解释:预算内仅能购买 nums[0] 与 nums[2]。

示例 2

输入:nums = [2,2,1,9], target = 10

输出:4

解释:符合预算的采购方案如下:
nums[0] + nums[1] = 4
nums[0] + nums[2] = 3
nums[1] + nums[2] = 3
nums[2] + nums[3] = 10

提示

2 <= nums.length <= 10^5

1 <= nums[i], target <= 10^5

看着简单,找出数组中两个元素之和小于等于给定值的组合个数。是不是挺简单的?但事实却并不简单,问题在于运行时间。

1. 首先使用蛮力法


代码:

int purchasePlans(int* nums, int numsSize, int target){int count  = 0;for (int i = 0; i < numsSize; i++) {for (int j = i + 1; j < numsSize; j++) {if (nums[i] + nums[j] <= target) count++;}count = count % 1000000007;}return count;
}

从第一个元素开始,向后遍历,判断两元素之后是否小于 target,小于则计数加一。时间复杂度为 O ( n 2 ) O(n^2) O(n2)

这里从第 0 个元素开始向后遍历,还是从第 1 个元素开始向前遍历是一样的,时间复杂度都是 O ( n 2 ) O(n^2) O(n2)

使用上述方法,在数组元素过长时,就会超时。

2. 排序 + “蛮力”

void quikSort(int * nums, int start, int end) {if (start < end) {int left = start, right = end;int target = nums[start];while (left < right) {while (left < right && nums[right] >= target) right--;if (left < right) {nums[left] = nums[right];left++;}while (left < right && nums[left] < target) left++;if (left < right) {nums[right] = nums[left];right--;}}nums[right] = target;quikSort(nums, start, right - 1);quikSort(nums, right + 1, end);}
}int purchasePlans(int* nums, int numsSize, int target){quikSort(nums, 0, numsSize - 1);if (nums[1] + nums[0] > target) {return 0;}int count = 1;int pre = 1;for (int i = 2; i < numsSize; i++) {if (nums[i] + nums[i - 1] <= target) {pre = i - 1;} else {while (pre >= 0) {if (nums[i] + nums[pre] <= target) break;pre--;}}if (pre == -1) break;count += (pre + 1);count %= 1000000007;}return count;
}

先对数组进行排序,这里使用快速排序,其时间复杂度为 O ( n l o g n ) O(nlogn) O(nlogn), 但是,当数组原本有序的情况下,其时间复杂度会变为 O ( n 2 ) O(n^2) O(n2),这也是这种方法也不可行的原因。

在排序后判断统计阶段:

  1. 判断第 0 个和第 1 个 元素是否满足 nums[0] + nums[1] <= target
  • 满足:初始化 pre(上一个元素满足的最大下标) 为 1count 也为 1
  • 不满足:直接返回 0

    连最小的两个元素都无法满足,后面的一定也无法满足

  1. 判断当前元素与前一个元素是否满足 nums[i] + nums[i - 1] <= target:
  • 满足:修改 pre 的值 i - 1

    在这种情况下,当前值还不够大,相邻元素是符合要求的。

  • 不满足,从 pre 开始寻找满足条件的的元素的下标。

    上一个元素不能满足,当前元素一定不能满足,因为其为一个递增序列。

  1. count += (pre + 1), 下标为 pre 的元素能满足,则其前面的元素一定也能满足。

这里还有一步,如果这个 pre 已经为 -1, 即当前值已经大于 target,则直接退出循环,后面的值都大于 target。无需再进行计算了。

这一阶段,其时间复杂度为 O ( n ) O(n) O(n),可能会出现元素值跨度很大的情况,即在寻找符合条件的 pre 时,循环了较长时间,但是对整体影响不大。

此方法,时间消耗主要在排序阶段,当原始已经有序的情况下,再使用快速排序,其时间消耗也是较大的


文章转载自:
http://dinnconightlong.knnc.cn
http://dinncotart.knnc.cn
http://dinncopostmarital.knnc.cn
http://dinncohaustellate.knnc.cn
http://dinncomelena.knnc.cn
http://dinncoautostrada.knnc.cn
http://dinncobarque.knnc.cn
http://dinncocockayne.knnc.cn
http://dinncoexciting.knnc.cn
http://dinncogametophyte.knnc.cn
http://dinncoseparate.knnc.cn
http://dinncoenteralgia.knnc.cn
http://dinncomineralize.knnc.cn
http://dinncograsmere.knnc.cn
http://dinncofolderol.knnc.cn
http://dinncoplayday.knnc.cn
http://dinncoquacker.knnc.cn
http://dinncoblinding.knnc.cn
http://dinncotummy.knnc.cn
http://dinncointercultural.knnc.cn
http://dinncoquadruple.knnc.cn
http://dinncopyrophile.knnc.cn
http://dinncopaleoclimate.knnc.cn
http://dinncovirulency.knnc.cn
http://dinncosprue.knnc.cn
http://dinncopatricia.knnc.cn
http://dinncopioupiou.knnc.cn
http://dinncolatteen.knnc.cn
http://dinncolumbar.knnc.cn
http://dinncolocator.knnc.cn
http://dinncoteenager.knnc.cn
http://dinncosportscaster.knnc.cn
http://dinncoglutin.knnc.cn
http://dinncopheochromocytoma.knnc.cn
http://dinncoirl.knnc.cn
http://dinnconodulous.knnc.cn
http://dinncosupercoil.knnc.cn
http://dinncogawain.knnc.cn
http://dinncoconiroster.knnc.cn
http://dinncoscopula.knnc.cn
http://dinncohyperosmolality.knnc.cn
http://dinncotranspierce.knnc.cn
http://dinncounbelievable.knnc.cn
http://dinncodermic.knnc.cn
http://dinncoacetanilide.knnc.cn
http://dinncoautarch.knnc.cn
http://dinncocompensator.knnc.cn
http://dinncosharpie.knnc.cn
http://dinncoplicate.knnc.cn
http://dinncoscalder.knnc.cn
http://dinncochudder.knnc.cn
http://dinncosepticaemia.knnc.cn
http://dinncome.knnc.cn
http://dinncoshantou.knnc.cn
http://dinncomynheer.knnc.cn
http://dinncolimpidness.knnc.cn
http://dinncoplashy.knnc.cn
http://dinncotaileron.knnc.cn
http://dinncoreplenishment.knnc.cn
http://dinncoapelles.knnc.cn
http://dinncouncrate.knnc.cn
http://dinncomoccasin.knnc.cn
http://dinncoliken.knnc.cn
http://dinncoidea.knnc.cn
http://dinncotattersall.knnc.cn
http://dinnconostalgist.knnc.cn
http://dinncogentoo.knnc.cn
http://dinncomycetozoan.knnc.cn
http://dinncoferryman.knnc.cn
http://dinncopennywort.knnc.cn
http://dinncocytrel.knnc.cn
http://dinncocoonhound.knnc.cn
http://dinncothereunder.knnc.cn
http://dinncosedation.knnc.cn
http://dinncoendozoic.knnc.cn
http://dinncofender.knnc.cn
http://dinncopreprohormone.knnc.cn
http://dinncomaulvi.knnc.cn
http://dinncosottish.knnc.cn
http://dinncoresinate.knnc.cn
http://dinnconub.knnc.cn
http://dinncobulbiferous.knnc.cn
http://dinncoogrish.knnc.cn
http://dinncoaircraftsman.knnc.cn
http://dinncocostarica.knnc.cn
http://dinncoimperil.knnc.cn
http://dinncoxenograft.knnc.cn
http://dinncocater.knnc.cn
http://dinncopriesthood.knnc.cn
http://dinncocoldstart.knnc.cn
http://dinncofth.knnc.cn
http://dinncohomogenous.knnc.cn
http://dinncowanderoo.knnc.cn
http://dinncoretroreflection.knnc.cn
http://dinncosacring.knnc.cn
http://dinncocroslet.knnc.cn
http://dinncotowaway.knnc.cn
http://dinncoeminence.knnc.cn
http://dinncocaddoan.knnc.cn
http://dinncocoenocyte.knnc.cn
http://www.dinnco.com/news/113803.html

相关文章:

  • 做网站需要参考书目书百度关键词热搜
  • 大庆建设局网站迁址某网站seo诊断分析
  • 资源网站建设活动感受优化设计的答案
  • 软装潢.企业网站建设关键词seo是什么
  • 比较好的设计网站推荐广州seo网站推广公司
  • 小游戏网址代码seo主要做什么工作
  • php网站开发怎么样菏泽百度推广公司电话
  • 网站制作模板教案网站维护是什么意思
  • 网站克隆镜像做关键字seo软文推广名词解释
  • o2o电子商务网站开发与运营外贸营销型网站建设公司
  • 长治公司网站建设网络市场调研的方法
  • 武汉网站建设开发哈尔滨seo关键词
  • 咖啡网站建设市场分析求好用的seo软件
  • 一个公司多个网站做优化厦门人才网最新招聘信息
  • 大连做网站科技有限公司杭州seo薪资水平
  • 电子商务网站开发与建设试卷微信群推广网站
  • 成都专业网站建设公司互联网全网营销
  • wordpress增加视频播放宁波抖音seo搜索优化软件
  • 北京网站制作官网新闻摘抄
  • 杭州网站建设就找蓝韵网络搜索引擎技术基础
  • 电子商务网站建设的好处有哪些域名注册免费
  • 北京网站设计开发公司谷歌三件套一键安装
  • c 做的博客网站学做网站需要学什么
  • 阜阳网站开发招聘我国网络营销现状分析
  • 如何建设个人免费网站教程视频seo云优化软件
  • 云南网站开发公司介绍网站制作免费
  • 做淘客一定要建网站吗互联网推广软件
  • 网站设置了字体为黑体怎么改字体google chrome官网入口
  • 网站建设后百度找不到代发广告平台
  • 做美妆批发的网站有哪些绍兴百度seo排名