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

蓝色扁平化网站二十条优化

蓝色扁平化网站,二十条优化,平台推广,模板做图 网站有哪些122.买卖股票的最佳时机II 本题解法很巧妙&#xff0c;大家可以看题思考一下&#xff0c;在看题解。 代码随想录P 只收集每天的正利润&#xff0c;利润可以每天分解。 Python: class Solution:def maxProfit(self, prices: List[int]) -> int:if len(prices)<2: retur…

122.买卖股票的最佳时机II  

本题解法很巧妙,大家可以看题思考一下,在看题解。 

代码随想录P

只收集每天的正利润,利润可以每天分解。

Python:

class Solution:def maxProfit(self, prices: List[int]) -> int:if len(prices)<2: return 0maxProfit = 0curProfit = 0for i in range(1, len(prices)):curProfit = prices[i] - prices[i-1]if curProfit > 0:maxProfit += curProfitif curProfit < 0:curProfit = 0return maxProfit

C++:

class Solution {
public:int maxProfit(vector<int>& prices) {if (prices.size() < 2) return 0;int maxProfit = 0;int curProfit = 0;for (int i=1; i<prices.size(); i++) {curProfit = prices[i] - prices[i-1];if (curProfit > 0) maxProfit += curProfit;if (curProfit < 0) curProfit = 0;}return maxProfit;}
};

55. 跳跃游戏 

本题如果没接触过,很难想到,所以不要自己憋时间太久,读题思考一会,没思路立刻看题解 

代码随想录

关键思路:

其实跳几步无所谓,关键在于可跳的覆盖范围!

不一定非要明确一次究竟跳几步,每次取最大的跳跃步数,这个就是可以跳跃的覆盖范围。

这个范围内,别管是怎么跳的,反正一定可以跳过来。

Python:

Python不支持动态修改for循环中的变量。注意和C++版本的对比。

class Solution:def canJump(self, nums: List[int]) -> bool:if len(nums)==1: return Truecover = 0for i in range(len(nums)):if i<=cover:cover = max(i+nums[i], cover)if cover >= len(nums)-1:return True            return False

C++:

class Solution {
public:bool canJump(vector<int>& nums) {if (nums.size()==1) return true;int cover = 0;for (int i=0; i<=cover; i++) { // for循环里的cover是动态修改的cover = max(nums[i]+i, cover);if (cover >= nums.size()-1) return true;}return false; }
};

45.跳跃游戏II 

本题同样不容易想出来。贪心就是这样,有的时候 会感觉简单到离谱,有时候,难的不行,主要是不容易想到。

代码随想录

局部最优:当前可移动距离尽可能多走,如果还没到终点,步数再加一。

整体最优:一步尽可能多走,从而达到最少步数。

所以真正解题的时候,要从覆盖范围出发,不管怎么跳,覆盖范围内一定是可以跳到的,以最小的步数增加覆盖范围,覆盖范围一旦覆盖了终点,得到的就是最少步数!

移动下标达到了当前覆盖的最远距离下标时,步数就要加一,来增加覆盖距离。最后的步数就是最少步数。

这里还是有个特殊情况需要考虑,当移动下标达到了当前覆盖的最远距离下标时

  • 如果当前覆盖最远距离下标不是是集合终点,步数就加一,还需要继续走。
  • 如果当前覆盖最远距离下标就是是集合终点,步数不用加一,因为不能再往后走了。

Python:

class Solution:def jump(self, nums: List[int]) -> int:n = len(nums)if n==1: return 0cur_cover = next_cover = 0ans = 0for i in range(n):next_cover = max(nums[i]+i, next_cover)if i==cur_cover:ans += 1cur_cover = next_coverif next_cover >= n-1:breakreturn ans

C++:

class Solution {
public:int jump(vector<int>& nums) {if (nums.size()==1) return 0;int curCover = 0;int nextCover = 0;int ans = 0;for (int i=0; i<nums.size(); i++) {nextCover = max(nums[i]+i, nextCover);if (i==curCover) {ans++;curCover = nextCover;if (nextCover>=nums.size()-1) break;}}return ans;}
};
http://www.yayakq.cn/news/52770/

相关文章:

  • 网站建设必知专业建设规划目标与标准
  • 小工厂怎么做网站搭建服务器需要多少钱
  • 做贸易把产品放到哪个网站好呢北京朝阳区房租
  • 简单建站的网站做网站什么程序好
  • 哪里有网站制作价格个人建站教程
  • 袜子技术支持深圳网站建设金融做市场广告挂哪些网站
  • 做招聘网站的客户想退钱网站源码 带数据
  • 桥梁建设 网站饿了吗网站建设思路
  • 网站建设的关键事项广东品牌网站建设公司
  • 做网站用什么语音建设网站证
  • 做网站域名要自己注册吗你对网站第一印象
  • 网站建设费可以计入办公费用么天河门户网
  • 上海建站网正规代加工项目招商
  • 医疗手机网站开发wordpress子分类模板
  • wordpress 菜单 导航代码网站优化两大核心要素是什么
  • 网站要做几个备案创业计划书建设网站
  • 网站开发答辩办公空间设计公司排名
  • 资阳住房和城乡建设厅网站wordpress好用的插件
  • 五分钟自己创建网站的方法如何做网站里的子网站
  • 给女友做网站html中文网页模板
  • 建站宝盒成品网站演示网页美工工资水平
  • 手机网站可以做英文版本吗珠宝网站dedecms模版
  • 深圳市网站建设做网站国内saas软件公司排名
  • 宁波网站推广厂家电话国外seo比较好的博客网站
  • 做前端项目怎么进行网站切图wordpress 加速版
  • 网站建设与管理专业找暑假工电子商务网站的设计
  • 如何把优酷视频放到网站上平邑做网站
  • 个人博客网站搭建模板开发软件的网站平台
  • 温州建设诚信网站网站更改备案信息吗
  • 小程序和网站开发难度东莞网站开发公司