代码随想录算法训练营day31

122_买卖股票的最佳时机(看了题解)

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。

在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。

返回 你能获得的 最大 利润 。

示例 1:

输入:prices = [7,1,5,3,6,4]
输出:7
解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3 。总利润为 4 + 3 = 7 。

算法思想:

我自己的解法:在当前数<后一位数时买入,后一位数<当前数时卖出;

代码:

class Solution {public  int maxProfit(int[] prices) {// 算法思想:在 当前数<后一位数 时买入,后一位数<当前数 时卖出boolean buy=false ;int buy_price = 0 ,sell_price = 0;int profit = 0;for(int i=0;i<prices.length-1;i++){// 买入if(prices[i]<prices[i+1]&&buy==false){buy_price = prices[i];buy = true;}// 卖出if(prices[i]>prices[i+1]&&buy==true){sell_price = prices[i];buy = false;profit += sell_price - buy_price;}}if(buy==true){profit += prices[prices.length-1] - buy_price;}System.out.println(profit);return profit;}
}

题解的算法思想:

{7,1,5,3,6,4} 要求最大买入卖出利润,

第一天买入,第二天卖出,利润-6

第二天买入,第三天卖出,利润4

第三天买入,第四天卖出,利润-2

第四天买入,第五天卖出,利润3

第五天买入,第六天卖出,利润-2

最大利润,只要正数,即为7。

代码:

import static java.lang.Integer.max;class Solution {public int maxProfit(int[] prices) {// 算法思想:{7,1,5,3,6,4} 假如第一天买入,第二天卖出,那么每次利润为 {-6,4,-2,3,-2},只在利润为正数的时候操作,最大利润为 4+3=7int result = 0;for(int i = 1;i<prices.length;i++){result += max(prices[i]-prices[i-1],0);}return result;}
}

55_跳跃游戏(看了题解,难得要死)

题目:

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

示例 1:

输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:

输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

算法思想:

误区:不要去考虑具体怎么跳,不要想跳几步,跳到哪,下一步跳几步。

逐步走,只考虑覆盖范围,如果能覆盖到最后一个元素,返回true,否则返回false;

代码:

import static java.lang.Integer.max;
class Solution {public static boolean canJump(int[] nums) {// 算法思想:不去关注具体怎么跳,只去看覆盖范围能不能覆盖到全部点if(nums.length==1)return true;int cover = 0;boolean flag = false;for(int i=0;i<=cover;i++){cover =max(cover,i + nums[i]);if(cover>=nums.length-1){flag = true;break;}}return flag;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么转换图片格式jpg?分享几种转换的方法

我们都知道现在图片格式种类非常多&#xff0c;比较常用的有jpg、png、webp等&#xff0c;很多时候&#xff0c;我们在网上保存的照片不是jpg格式的&#xff0c;查看或者编辑起来就很麻烦&#xff0c;这时候你可能需要将图片转换成jpg格式&#xff0c;那怎么转换图片格式jpg呢?…

【CNN】ConvMixer探究ViT的Patch Embedding: Patches Are All You Need?

Patches Are All You Need? 探究Patch Embedding在ViT上的作用&#xff0c;CNN是否可用该操作提升性能&#xff1f; 论文链接&#xff1a;https://openreview.net/pdf?idTVHS5Y4dNvM 代码链接&#xff1a;https://github.com/tmp-iclr/convmixer 1、摘要 ViT的性能是由于T…

举个例子说明联邦学习

学习目标&#xff1a; 一周掌握 Java 入门知识 学习内容&#xff1a; 联邦学习是一种机器学习方法&#xff0c;它允许多个参与者协同训练一个共享模型&#xff0c;同时保持各自数据的隐私。 联邦学习概念&#xff08;例子&#xff09;: 假设有三家医院&#xff0c;它们都希望…

我的 256天 创作纪念日

创作纪念日 我与CSDN的初识耕耘后的收获有笑有泪的日常小小的成就我的憧憬 我与CSDN的初识 在大一上学期的C语言课程中&#xff0c;我首次接触到CSDN。那时&#xff0c;面对众多难以理解的题目&#xff0c;我不得不频繁搜索相关知识和题解&#xff0c;CSDN成了我的救星。这个经…

这几个小众SaaS知识库工具原来这么好用,强烈推荐!

时代的进步和科技的发展&#xff0c;让我们有了更多高效的工作工具。由于云计算和SaaS&#xff08;Software as a Service&#xff09;的普及&#xff0c;越来越多的知识库工具被广大用户所知和使用。今天&#xff0c;就让我来为你推荐几款小众但卓效独特的SaaS知识库工具。 首…

前端将列表数据转换为树形数据的函数

大概的思路就是这个&#xff1a; 树状图的规则是 二级的 pid 等于 一级的 id 从这个规则进行下手 结构数据遍历数据&#xff0c;拆分他的数据结构 可以遍历n条的数据&#xff0c;主要就是通过递归的方法实现 以下就是代码案例&#xff08;如有不准确的地方&#xff0c;欢迎各位…

vite配置postcss

1.搭建项目 pnpm create vite 2.下载postcss pnpm i postcss pnpm i postcss-pxtorem pnpm i autoprefixer 也可以去官网找其他插件下载 3.配置vite.config.js import postCssPxToRem from postcss-pxtorem import autoprefixer from autoprefixerexport default () >…

LeetCode hoot100-22

160. 相交链表给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。这道题几分钟就写出来了。应该是几年前做过&#xff0c;这种思想还能一直记得。所以算法题是不会白做的。 我的…

市场首款!华邦电子发布内置PQC算法的闪存产品

3月27日&#xff0c;全球领先的半导体内存解决方案供应商华邦电子股份有限公司推出TrustME Secure Flash W77Q系列的最新扩展&#xff0c;包括256Mb、512Mb和1Gb器件。 这些突破性的安全闪存设备是市场上首款针对后量子密码学&#xff08;PQC&#xff09;实施Leighton-Micali签…

FSP7罗德与施瓦茨FSP7频谱分析仪

181/2461/8938产品概述&#xff1a; 罗德与施瓦茨 FSP7 频谱分析仪以其创新的测量和大量标准功能而著称。FSP7 没有提供多种选项&#xff0c;而是标配了最先进的频谱分析仪所需的所有功能和接口。FSP 具有如此丰富的功能&#xff0c;以极具吸引力的性价比提供最先进的频谱分析…

Vscode已经安装imutils但是依旧报错

问题描述 使用 pip install imutils安装完成之后&#xff0c;依旧报错没有安装 问题解决 找到你安装的anaconda环境 使用cmd安装 :\环境路径\anaconda\envs\你的环境名称\Scripts\pip.exe install imutils

windows下Msys2编译OpenOCD方法与总结

windows下Msys2编译OpenOCD方法与总结 参考博客&#xff1a; 编译的总体方法&#xff1a;https://blog.csdn.net/MicroMehhh/article/details/135721360lib-usb库问题的解决办法&#xff1a;https://github.com/espressif/openocd-esp32/issues/162编译方法参考&#xff1a; …

智过网:一建继续教育,操作指南与周期解析

随着社会的快速发展和技术的不断更新&#xff0c;建筑行业对从业人员的专业素质要求也在逐步提高。为了确保一级建造师的专业技能能够与时俱进&#xff0c;满足行业发展的需求&#xff0c;继续教育成为了必不可少的环节。本文将详细解析一建继续教育的操作流程及其周期安排&…

localStorage和sessionStorage

在HTML5中&#xff0c;本地存储是一个window的属性&#xff0c;包括localStorage和sessionStorage&#xff0c;前者是一直存在本地的&#xff0c;后者是伴随着session存在 window.localStorage localStorage特性&#xff0c;这个特性主要是用来作为本地存储来使用的&#xff…

前端开发学习笔记 3 (Chrome浏览器调试工具、Emmet语法、CSS复合选择器、CSS元素选择模式、CSS背景)

文章目录 Chrome浏览器调试工具Emmet语法CSS复合选择器后代选择器子选择器并集选择器伪类选择器 CSS元素选择模式元素选择模式概述CSS块标签CSS行内标签CSS行内块标签CSS元素显示模式转换 CSS背景CSS背景颜色CSS背景图片CSS背景图片平铺CSS背景图片位置CSS背景图片固定CSS背景复…

口语 4.7

PG section&#xff1a;少儿不宜 enhance our lives&#xff1a;提升了我们的生活质量 modify the pictures&#xff1a;修图 theyre way happier seeming 看起来更开心 rebaseline our expectations&#xff1a;重新设定我们的预期值 a famous quote&#xff1a;sb说过的…

HEVC预测编码

目录 帧内预测 亮度帧内预测模式 亮度帧内模式的编码 色度帧内预测模式编码 帧内预测过程 相邻参考像素的获取 参考像素的滤波 预测像素的计算 帧间预测 MV

解锁网络安全新境界:雷池WAF社区版让网站防护变得轻而易举!

网站运营者的救星&#xff1a;雷池WAF社区版 ️ 嘿朋友们&#xff01;今天我超级激动要跟你们分享一个神器——雷池WAF社区版。这个宝贝对我们这帮网站运营者来说&#xff0c;简直就是保护伞&#xff01; 智能语义分析技术&#xff1a;超级侦探上线 先说说为啥我这么稀饭它。雷…

【题解 | 分组背包】掷骰子等于目标和的方法数

掷骰子等于目标和的方法数 力扣&#xff1a;1155. 掷骰子等于目标和的方法数 这里有 n 个一样的骰子&#xff0c;每个骰子上都有 k 个面&#xff0c;分别标号为 1 到 k 。 给定三个整数 n、k 和 target&#xff0c;请返回投掷骰子的所有可能得到的结果&#xff08;共有 kn 种方…

10倍提效!用ChatGPT编写系统功能文档。。。

系统功能文档是一种描述软件系统功能和操作方式的文档。它让开发团队、测试人员、项目管理者、客户和最终用户对系统行为有清晰、全面的了解。 通过ChatGPT&#xff0c;我们能让编写系统功能文档的效率提升10倍以上。 ​《Leetcode算法刷题宝典》一位阿里P8大佬总结的刷题笔记…