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

网址导航网站如何做凡科建站的优势

网址导航网站如何做,凡科建站的优势,深圳网站建设定制,php做网站标题加链接贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律, 没有思路就立刻看题解。 基本贪心的题目 有两个极端,要不就是特简单,要不就是死活想不出来。 学完贪心之后再…

贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 

不用花心思去研究其规律, 没有思路就立刻看题解。

基本贪心的题目 有两个极端,要不就是特简单,要不就是死活想不出来。  

学完贪心之后再去看动态规划,就会了解贪心和动规的区别。

理论基础 

代码随想录

455.分发饼干  

代码随想录

两个数组先排序,倒着看最大的cookie能满足的孩子,向前计数。

Python:

class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:g.sort()s.sort()i = len(g)-1j = len(s)-1result = 0while j>=0 and i>=0:if s[j]>=g[i]:result += 1j -= 1i -= 1return result

C++:

C++版本用i--实现也算简洁。

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int result=0;int i = g.size()-1;int j = s.size()-1;for (int i=g.size()-1; i>=0; i--) {if (j>=0 && s[j]>=g[i]) {result++;j--;}}return result;}
};

376. 摆动序列  

代码随想录

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

主要难点:要考虑平坡的情况。

Python:

class Solution:def wiggleMaxLength(self, nums: List[int]) -> int:n = len(nums)if n<=1: return nprev_diff = nums[1] - nums[0]n_diff = int(prev_diff!=0)for i in range(2, n):cur_diff = nums[i] - nums[i-1]if cur_diff * prev_diff < 0 or (prev_diff==0 and cur_diff!=0):n_diff += 1prev_diff = cur_diff return n_diff + 1

C++:

class Solution {
public:int wiggleMaxLength(vector<int>& nums) {if (nums.size()<=1) return nums.size();int preDiff = 0;int curDiff = 0;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;}}return result;}
};

53. 最大子序和  

代码随想录

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

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

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

从代码角度上来讲:遍历 nums,从头开始用 count 累积,如果 count 一旦加上 nums[i]变为负数,那么就应该从 nums[i+1]开始从 0 累积 count 了,因为已经变为负数的 count,只会拖累总和。

这相当于是暴力解法中的不断调整最大子序和区间的起始位置

Python贪心:

class Solution:def maxSubArray(self, nums: List[int]) -> int:result = float('-inf')count = 0for num in nums:count += numif count > result:result = countif count <= 0:count = 0return result

Python动态规划:

class Solution:def maxSubArray(self, nums: List[int]) -> int:curSum, maxSum = nums[0], nums[0]for num in nums[1:]:curSum = max(num, curSum + num)maxSum = max(maxSum, curSum)return maxSum

C++贪心:

class Solution {
public:int maxSubArray(vector<int>& nums) {int result = INT32_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; }
};

C++动态规划:

class Solution {
public:int maxSubArray(vector<int>& nums) {int curSum = nums[0];int maxSum = nums[0];for (int i=1; i<nums.size(); i++) {curSum = max(nums[i], curSum+nums[i]);maxSum = max(maxSum, curSum);}return maxSum;}
};

http://www.yidumall.com/news/103132.html

相关文章:

  • 网站建设询价单百度快照怎么弄
  • 做kegg的网站宁波营销型网站建设优化建站
  • wordpress必须安装插件网站推广和网站优化
  • 万虹点读机如何做系统下载网站提高网站搜索排名
  • 如何做网站的流量分析营销策划方案怎么写
  • 彩票娱乐网站建设开发百度竞价防软件点击软件
  • 网站建设明细表宣传渠道有哪些
  • 做网站引流的最佳方法百度关键词排名点击
  • 工作做ppt课件的网站精准营销及推广
  • 婚庆网站开发浏览器网页版入口
  • 有个做搞笑视频的网站搜索关键词排名优化服务
  • 佛山营销型网站建设搜索引擎优化seo是什么
  • 企业网站如何宣传网站访问量统计工具
  • html网页设计软件有哪些河北seo推广方案
  • wordpress默认登录seo优化便宜
  • 爱 做 网站吗代运营套餐价格表
  • 口碑好网站建设资源宁波seo排名优化价格
  • 佛山营销型网站设计广州营销优化
  • 西安行业网站制作站长工具是做什么的
  • 网站开发分为哪几块网站建设关键词排名
  • 想学网站建设与设计的书籍郑州做网站
  • 2018年网站风格网站搜索系统
  • 中纪委网站两学一做 重拾自信百度指数下载手机版
  • 网站注册表单怎么做百度关键词搜索量查询
  • 官方网站下载官方版本百度快照和广告的区别
  • 做app简单还是网站软文营销的定义
  • 德宏网站建设百度点击工具
  • 东风地区网站建设公司口碑营销策划方案
  • 做团购网站需要什么百度一下官方下载安装
  • 做与食品安全有关的网站厦门seo哪家强