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

果洛营销网站建设哪家好做网站买什么服务器 便宜

果洛营销网站建设哪家好,做网站买什么服务器 便宜,广告营销策略,网站支付接口怎么做代码随想录算法训练营 —day27 文章目录 代码随想录算法训练营前言一、贪心算法理论基础二、455.分发饼干三、376. 摆动序列53. 最大子数组和总结 前言 今天是算法营的第27天#xff0c;希望自己能够坚持下来#xff01; 今日任务#xff1a; ● 贪心算法理论基础 ● 455.…代码随想录算法训练营 —day27 文章目录 代码随想录算法训练营前言一、贪心算法理论基础二、455.分发饼干三、376. 摆动序列53. 最大子数组和总结 前言 今天是算法营的第27天希望自己能够坚持下来 今日任务 ● 贪心算法理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和 一、贪心算法理论基础 文章讲解 视频讲解 题目大纲 贪心的本质是选择每一阶段的局部最优从而达到全局最优。 贪心没有套路说白了就是常识性推导加上举反例。贪心的题目要么很简单要么没做过就想不出来思路。遇到没思路的题目不要想太久马上看题解积累思路。 二、455.分发饼干 题目链接 文章讲解 视频讲解 思路 这里的局部最优是尽量用大的饼干去满足大的胃口或者反过来用小的饼干满足小的胃口先对饼干和胃口排序从后往前遍历胃口优先用最大的饼干去匹配大胃口如果满足的话则饼干index往前这里要注意index0累加计数。 代码如下 class Solution { public:int findContentChildren(vectorint g, vectorint s) {//先排列升序sort(g.begin(), g.end());sort(s.begin(), s.end());int index s.size() - 1;int result 0;for (int i g.size() - 1; i 0; i--) { //遍历胃口if (index 0 s[index] g[i]) { //遍历饼干用最大的饼干匹配index--;result;}}return result;} };三、376. 摆动序列 题目链接 文章讲解 视频讲解 局部最优删除单调坡度上的节点不包括单调坡度两端的节点那么这个坡度就可以有两个局部峰值头和尾。 整体最优整个序列有最多的局部峰值从而达到最长摆动序列。 因为题目要求的是最长摆动子序列的长度所以只需要统计数组的峰值数量就可以了 思路 用当前元素分别和前一元素后一元素的差的正负来判断是否有摆动preDiff nums[i 1] - nums[i]curDiff nums[i] - nums[i - 1]preDiff和curDiff一正一负时说明出现了摆动。 这是我们思考本题的一个大体思路但本题要考虑三种情况 情况一上下坡中有平坡 平坡有4个2那么考虑删掉左边3个2的话遍历到最后一个2时的条件就是prediff 0 curdiff 0所以判断峰值的条件就应该是 (preDiff 0 curDiff 0) || (preDiff 0 curDiff 0) 情况二数组首尾两端 题目中说了如果只有两个不同的元素那摆动序列也是 2。 那么为了统计到这种情况默认最右端是一个摆动result初始化为1且遍历只遍历到倒数第二个i nums.size() - 1再加上情况一讨论的判断条件 curDiff 0 preDiff 0那么result就会得到答案2. 情况三单调坡中有平坡 为了避免nums[1]和nums[2]都各自统计了一次摆动只需要在这个坡度摆动变化的时候更新 prediff 就行也就是图上的1这样 prediff 在 单调区间有平坡的时候 就不会发生变化造成我们的误判。 class Solution { public:int wiggleMaxLength(vectorint nums) {if (nums.size() 1) return nums.size();int preDiff 0; //nums[i 1] - nums[i]int curDiff 0; //nums[i] - nums[i - 1]int result 1; //默认最右边有一个峰值//只遍历到倒数第二个因为最右边一个已经算成一个峰值了for (int i 0; i nums.size() - 1; i ) {curDiff nums[i 1] - nums[i];//出现峰值if ((preDiff 0 curDiff 0) || (preDiff 0 curDiff 0)) {result;preDiff curDiff; //当遇到摆动变化时才更新prediff}}return result;} };53. 最大子数组和 题目链接 文章讲解 视频讲解 思路 当累加和是负数时继续往后加都是让后面的数更加小所以当累加和为负时舍弃掉当前的累加重新从下一个元素开始累加并且在过程中记录累加的最大值。 代码如下 class Solution { public:int maxSubArray(vectorint nums) {int result INT_MIN;int count 0;for (int i 0; i nums.size(); i ) {count nums[i]; //计算累加值if (count result) result count; //记录最大值if (count 0) count 0; //当连续和为负数时舍弃累加值重新累加}return result;} };总结 今天第一天的贪心算法代码其实都不难难的是思路需要多积累一些解题思路才行。 明天继续加油
http://www.w-s-a.com/news/332466/

相关文章:

  • 企业门户网站平台建设招标采购文件长沙做网站找哪家好
  • 关于实验室建设的英文网站图文分销系统开发
  • wordpress 媒体库管理自己的网站什么做优化
  • 网站建设基本流程价格厦门seo网站推广
  • 辽宁响应式网站建设价格企业所得税率
  • 网站编辑及seo招聘上海做网站公司做网站的公司
  • 杭州四喜做网站建设么ja.wordpress.org
  • 旅游网站策划书企业公司名字大全
  • 营销型网站的标准郑州新密网站建设
  • 建设网站的公司管理公司网站设计
  • 手机网站有什么区别是什么意思不让网站开发公司进入后台
  • 网站正在建设中_敬请期待做宠物店网站
  • 个体营业执照可以做网站服务吗宣传品牌网站建设
  • 做平台是做网站和微信小程序的好别邯郸捕风科技有限公司
  • 公司做哪个网站比较好巴顿品牌设计官网
  • 济宁北湖建设局网站我要推广
  • mc网站的建设大型网站开发
  • 给网站做推广一般花多少钱全国最大的外发加工网
  • linux 网站301江西seo推广方案
  • c2c电子商务网站定制开发wordpress html单页
  • 查询网站空间商自己做的网站如何放到微信
  • 现在网站开发哪个语言好月嫂公司网站建设构思
  • 腾讯云免费网站建设网站设计一级网页
  • 网站备案系统验证码出错的解决方案wordpress+论坛+注册
  • 代做毕设的网站先做网站先备案
  • 网站定制哪个好wordpress主题dux1.9
  • 怎么自己做网站地图网站建设弹窗代码
  • wordpress 作品集网站企业做网站建设的好处
  • 公司开发的网站健身网站开发项目总结
  • 怎样做游戏网站网站建设万首先金手指14