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

广州富邦物流网站建设郴州网站建设公司

广州富邦物流网站建设,郴州网站建设公司,贵州建网站的公司,房价下跌最惨10大城市前言 今天是贪心算法的第一天,算法之路重新开始! 内容 之前没了解过贪心算法。 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。难点就是如何通过局部最优,推出整体最优。 一、455.分发饼干 假设你是一…

前言

今天是贪心算法的第一天,算法之路重新开始!

内容

之前没了解过贪心算法。

什么是贪心

贪心的本质是选择每一阶段的局部最优,从而达到全局最优。难点就是如何通过局部最优,推出整体最优。

一、455.分发饼干

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

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

思路:

大饼干可以满足胃口大的,也可以满足胃口小的,应该优先满足胃口大的。

这里的局部最优就是大饼干喂给胃口大的,全局最优就是喂饱尽可能多的小孩

先将饼干数组和小孩数组排序,然后从后向前遍历小孩数组,如果饼干的大小大于或等于孩子的为空则给与,否则不给予,继续寻找选一个饼干是否符合。

func findContentChildren(g []int, s []int) int {sort.Ints(g)sort.Ints(s)child:=0for sIdx:=0;sIdx<len(s)&&child<len(g);sIdx++{if s[sIdx]>=g[child]{child++}}return child
}
二、376. 摆动序列

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

  • 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。

  • 相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。

子序列 可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。

给你一个整数数组 nums ,返回 nums 中作为 摆动序列 的 最长子序列的长度 。

思路:

将数组用坡度表示出来,

局部最优:删除单调坡度上的节点(不包括单调坡度两端的节点),那么这个坡度就可以有两个局部峰值

整体最优:整个序列有最多的局部峰值,从而达到最长摆动序列

但本题要考虑三种情况:

  1. 情况一:上下坡中有平坡
  2. 情况二:数组首尾两端
  3. 情况三:单调坡中有平坡
func wiggleMaxLength(nums []int) int {n:=len(nums)if n<2{return n}ans:=1preDiff:=nums[1]-nums[0]if preDiff!=0{ans=2}for i:=2;i<n;i++{diff:=nums[i]-nums[i-1]if preDiff<=0&&diff>0||preDiff>=0&&diff<0{ans++preDiff=diff}}return ans
}
三、53. 最大子数组和

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

子数组是数组中的一个连续部分。

思路:

负数只会拉低总和。

局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。

全局最优:选取最大“连续和”

局部最优的情况下,并记录最大的“连续和”,可以推出全局最优

func maxSubArray(nums []int) int {maxNum:=nums[0]for i:=1;i<len(nums);i++{if nums[i]+nums[i-1]>nums[i]{nums[i]+=nums[i-1]}if nums[i]>maxNum{maxNum=nums[i]}}return maxNum
}

最后

可预见的正在变好!加油!

http://www.yayakq.cn/news/460415/

相关文章:

  • 建设农产品网站的背景商城站到商城汽车站
  • 新年免费ppt模板下载seo网站推广优化
  • 丹灶网站建设企业网址怎么整
  • 海南省住房建设厅网站首页网站工程师是做什么的
  • 课程网站建设的目标福州短视频seo推荐
  • 网站建设实训实训心得石排镇仿做网站
  • 个人简介网站源码个人做淘宝客网站好做吗
  • 清远网站建设公司上海网站建设 知名觉
  • 如何招聘软件网站开发人员wordpress 点击文章
  • 天津公司网站推广一般做网站用什么字体
  • 陕西省建设监理协会证书查询网站个人响应式网站
  • 如何建设一个网站网页163邮箱注册申请注册
  • cms企业网站管理系统网站首页页面代码
  • 路由硬盘做网站空间不19手机网站
  • 建设网站员工招聘策划方案at结尾网站
  • 四川省优质校建设 网站文创产品设计方案
  • 网站建设有哪些软件网易黄页
  • 电商网站运营建设的目标三明做网站的公司
  • 建设网站q8555 3807云电脑注册网站首页
  • 贵阳网站app制作百度做自己的网站
  • 怎么制作一个网站教程php mysql 网站开发实例教程
  • 济南seo网站优化网页设计尺寸要缩进多少
  • 教学网站模板摄影婚纱网站建设
  • 如何自建网站视频网站建设多少钱宋柯
  • 江宁网站建设价格九宫格导航网站
  • 怎么健手机网站手机商城怎么做
  • 可以做视频片头的网站创业加盟
  • 网站建设对企业的好处残联网站建设方案
  • 桂阳网站设计免费数据库网站空间
  • 如何做网站 写代码wordpress controls