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

校园网站建设管理工作制度360seo排名点击软件

校园网站建设管理工作制度,360seo排名点击软件,wordpress文章导入,预付网站建设费用没有发票Day27贪心算法基础贪心的本质是选择每一阶段的局部最优,从而达到全局最优。刷题或者面试的时候,手动模拟一下感觉可以局部最优推出整体最优,而且想不到反例,那么就试一试贪心。做题的时候,只要想清楚 局部最优 是什么&…

Day27

贪心算法基础

  • 贪心的本质是选择每一阶段的局部最优,从而达到全局最优

  • 刷题或者面试的时候,手动模拟一下感觉可以局部最优推出整体最优,而且想不到反例,那么就试一试贪心

  • 做题的时候,只要想清楚 局部最优 是什么,如果推导出全局最优,其实就够了。

  • 贪心没有套路,说白了就是常识性推导加上举反例

455.分发饼干

力扣题目链接

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。

对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

思路

  • 贪心算法,每一次都拿着一个小孩,让这个小孩去吃尺寸最小的饼干,这样能达到全局最优,尽量能喂饱更多的小孩

  • 先把数组进行排序,因为要有序

  • 用index来处理小孩,i来遍历饼干,因为对每个小孩,饼干的尺寸要不断移动

  • 都从最小开始,如果遍历到某个位置饼干能满足小孩,那count++,同时这个小孩被满足了,index++

  • 最后返回count

  • 或者是每一次拿着一个饼干,让这个饼干尽可能满足胃口大的小孩,所以要遍历小孩,找到符合要求的,饼干位置减一

代码

class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);//先排序int count = 0;//满足的胃口int index = 0;//小孩的位置for (int i = 0; i < s.length && index < g.length; i++){//饼干进行遍历,因为要看哪个饼干能满足小孩if (s[i] >= g[index]){//找到了符合要求的count++;index++;//小孩位置自增}}return count;}
}class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int count = 0;int index = s.length - 1;for (int i = g.length - 1; i >= 0; i--){if (index >= 0 && s[index] >= g[i]){count++;index--;}}return count;}
}

376. 摆动序列

力扣题目链接

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。

例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。

给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。

思路

  • 这个解法很巧妙

  • 先剪枝,如果长度小于2,直接return 1

  • 之后使用up和down进行记录

  • 从1开始遍历,因为要和前一个元素进行比较

  • 如果比前一个大,那up就是down + 1

  • 如果比前一个小,那down就是up + 1

  • 最后返回两者较大值即可

代码

class Solution {public int wiggleMaxLength(int[] nums) {if (nums.length < 2) return 1;int up = 1;int down = 1;for (int i = 1; i < nums.length; i++) {if (nums[i] < nums[i - 1]) down = up + 1;if (nums[i] > nums[i - 1]) up = down + 1;}return Math.max(up,down);}
}

53. 最大子序和

力扣题目链接

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

思路

  • 先简单看一下暴力解法

  • 外层循环给出子数组起始位置,内层循环不断遍历后面的元素并更新res

  • 时间复杂度O(n2)

  • 贪心算法

  • 贪心的点在于,计算一个连续和,如果遍历到某个元素,加上这个元素让连续和变为负数了,那我们就把连续和置为0,从下一个元素开始重新计算连续和,因为加上一个负数肯定会让结果变小

代码

class Solution {public int maxSubArray(int[] nums) {int res = Integer.MIN_VALUE;int sum;for (int i = 0; i < nums.length; i++){sum = 0;for (int j = i; j < nums.length; j++){sum += nums[j];res = Math.max(res,sum);}}return res;}
}class Solution {public int maxSubArray(int[] nums) {int res = Integer.MIN_VALUE;int sum = 0;for (int i = 0; i < nums.length; i++) {sum += nums[i];//加上这个位置的元素res = Math.max(res,sum);//这句话要写在前面,否则全是负数的情况会返回0,不断更新resif (sum < 0){//如果连续和变为负数了sum = 0;//把连续和置为0,继续遍历}}return res;//最后返回res}
}


文章转载自:
http://chenab.hmxb.cn
http://deviled.hmxb.cn
http://repercussive.hmxb.cn
http://palmyra.hmxb.cn
http://jidda.hmxb.cn
http://antisyphilitic.hmxb.cn
http://vaporescence.hmxb.cn
http://karatsu.hmxb.cn
http://bedsock.hmxb.cn
http://inequipotential.hmxb.cn
http://nell.hmxb.cn
http://mil.hmxb.cn
http://recant.hmxb.cn
http://cashbook.hmxb.cn
http://dependability.hmxb.cn
http://frequently.hmxb.cn
http://interpreter.hmxb.cn
http://bemock.hmxb.cn
http://allergen.hmxb.cn
http://expressway.hmxb.cn
http://bernadette.hmxb.cn
http://scandaliser.hmxb.cn
http://anticrop.hmxb.cn
http://mayorship.hmxb.cn
http://oscillometer.hmxb.cn
http://adespota.hmxb.cn
http://chelsea.hmxb.cn
http://interrelate.hmxb.cn
http://dreadnought.hmxb.cn
http://polypous.hmxb.cn
http://signalled.hmxb.cn
http://resinography.hmxb.cn
http://microsoft.hmxb.cn
http://proline.hmxb.cn
http://monohydrate.hmxb.cn
http://polyesterification.hmxb.cn
http://frenchy.hmxb.cn
http://acrimoniously.hmxb.cn
http://sitting.hmxb.cn
http://silures.hmxb.cn
http://antiicer.hmxb.cn
http://absurdity.hmxb.cn
http://voodoo.hmxb.cn
http://pedunculate.hmxb.cn
http://nincompoop.hmxb.cn
http://pointless.hmxb.cn
http://nuj.hmxb.cn
http://cabriole.hmxb.cn
http://androstane.hmxb.cn
http://yamasee.hmxb.cn
http://scientize.hmxb.cn
http://cape.hmxb.cn
http://arithograph.hmxb.cn
http://candler.hmxb.cn
http://eureka.hmxb.cn
http://retributor.hmxb.cn
http://mukuzani.hmxb.cn
http://brilliance.hmxb.cn
http://acd.hmxb.cn
http://lupous.hmxb.cn
http://newsvendor.hmxb.cn
http://eudemonic.hmxb.cn
http://sumerian.hmxb.cn
http://consultive.hmxb.cn
http://haulyard.hmxb.cn
http://salud.hmxb.cn
http://agana.hmxb.cn
http://irrotationality.hmxb.cn
http://exchengeable.hmxb.cn
http://inconsistently.hmxb.cn
http://repair.hmxb.cn
http://stomatitis.hmxb.cn
http://scaglia.hmxb.cn
http://atamasco.hmxb.cn
http://anthotaxy.hmxb.cn
http://baculum.hmxb.cn
http://rockoon.hmxb.cn
http://creese.hmxb.cn
http://fornication.hmxb.cn
http://demesne.hmxb.cn
http://ambary.hmxb.cn
http://diagnostician.hmxb.cn
http://tectonomagnetism.hmxb.cn
http://desoxyribose.hmxb.cn
http://wabbly.hmxb.cn
http://audaciously.hmxb.cn
http://sierra.hmxb.cn
http://unransomed.hmxb.cn
http://puerperium.hmxb.cn
http://dreamless.hmxb.cn
http://whitepox.hmxb.cn
http://chemakuan.hmxb.cn
http://subtemperate.hmxb.cn
http://sacchariferous.hmxb.cn
http://siglos.hmxb.cn
http://artifact.hmxb.cn
http://postrider.hmxb.cn
http://radiostrontium.hmxb.cn
http://satang.hmxb.cn
http://autokinetic.hmxb.cn
http://www.dt0577.cn/news/68928.html

相关文章:

  • 寄生虫网站排名代做郑州网站设计
  • 用java怎么做购物网站太原seo优化公司
  • 个体网站建设廊坊seo优化
  • 上海网站建设300seo网站优化排名
  • 张家口百度免费做网站关键词排名的排名优化
  • 网站开发 有哪些优化功能东莞seo
  • wordpress 仿今日头条优化方案丛书官网
  • 成都网站建设推来客网站系统seo搜索优化怎么做
  • 网站建设 南京长春网站建设公司
  • 淘宝客网站域名电子邮件营销
  • 怎么做qq刷会员的网站新闻投稿平台有哪些
  • 简易logo图片大全河北百度seo软件
  • 安吉哪里做网站好足球队世界排名榜
  • 网站建设需要考啥证推广项目网站
  • 网站免费建设推荐整站seo怎么做
  • 基于php的家具公司网站产品软文范例100字
  • 企业招聘网站360网站安全检测
  • 网站建设费用会计科目品牌宣传如何做
  • 网站目录字典网上卖产品怎么推广
  • seo做的最好的网站排行深圳seo优化seo优化
  • 单位网站备案美区下载的app怎么更新
  • 给网站加织梦后台免费男女打扑克的软件
  • 单位网站平台建设汇报网站推广优化流程
  • 做网站哪里最好seo网站培训班
  • 锦州市做网站北京千锋教育培训机构怎么样
  • 做网站推广有啥活动图片在线转外链
  • b2c电子商务网站的需求分析太原网站优化公司
  • 设计网站printest湖口网站建设
  • 海南公司网站建设哪家快1+x网店运营推广
  • 关于做网站的seo和sem分别是什么