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

建筑工地网站有哪些2023年第三波新冠9月

建筑工地网站有哪些,2023年第三波新冠9月,html个人网站源码,智慧团建系统登录入口官网刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 目录 121. 买卖股票的最佳时机 - 力扣(LeetCode) 122. 买卖股票的最佳时机 II - 力扣(LeetCode) 123. 买卖股票的最佳时机 III …

刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 

目录

121. 买卖股票的最佳时机 - 力扣(LeetCode)

122. 买卖股票的最佳时机 II - 力扣(LeetCode)

123. 买卖股票的最佳时机 III - 力扣(LeetCode)


121. 买卖股票的最佳时机 - 力扣(LeetCode)

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 

输入:[7,1,5,3,6,4]
输出:5
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。

/*** @author light* @Description 买股票的最佳时机。** (思路:分为持有和不持有状态:(持有不代表当天买入,持有是一种状态,同理不持有也是* 1.持有:以前就持有或者当天才持有* 2.不持有:以前就不持有或者当天卖出不持有* @create 2023-10-13 13:48*/
public class MaxProfitTest {public int maxProfit(int[] prices) {//dp[i][0]:第i天不持有股票,所获得的最大利润//dp[i][1]:第i天持有股票,所获得的最大利润int[][] dp=new int[prices.length][2];dp[0][0]=0;dp[0][1]=-prices[0];for (int i =1; i <prices.length; i++) {dp[i][0]= Math.max(dp[i-1][0],dp[i-1][1]+prices[i]); //不持有:以前不持有/现在卖出dp[i][1]= Math.max(dp[i-1][1],-prices[i]);  //持有:以前持有/现在买入}return dp[prices.length-1][0];}
}

122. 买卖股票的最佳时机 II - 力扣(LeetCode)

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

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

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

输入: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 。

/*** @author light* @Description 买股票的最佳时机II** (两种情况:分为持有和不持有* 1.持有:以前就持有/以前不持有现在持有* 2.不持有:以前就不持有/以前持有现在不持有* @create 2023-10-13 15:11*/
public class MaxProfit2Test {public int maxProfit(int[] prices) {//dp[i][0]:第i天持有股票,所获得的最大利润//dp[i][1]:第i天不持有股票,所获得的最大利润int[][] dp=new int[prices.length][2];dp[0][0]=-prices[0];dp[0][1]=0;for (int i = 0; i < prices.length; i++) {//持有:区别于买股票的最佳时机那道题,注意这里题干是每一天,意思是持有情况可能在前一天有利润情况下持有本次股票dp[i][0]=Math.max(dp[i-1][0],dp[i-1][1]-prices[i]);dp[i][1]= Math.max(dp[i-1][1],dp[i-1][0]+prices[i]); //不持有}return dp[prices.length-1][1];}
}

123. 买卖股票的最佳时机 III - 力扣(LeetCode)

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

输入:prices = [3,3,5,0,0,3,1,4]
输出:6
解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3 。
/*** @author light* @Description 买股票的最佳时机III** (思路:最多能买两只股票则有共有5个状态* 0.没有操作* 1.第一次持有股票--第一次一直持有/之前不持有,现在持有* 2.第一次不持有股票--第一次一直不持有/之前持有,现在不持有* 3.第二次持有股票--第二次一直持有/第一次后不持有,现在持有* 4.第二次不持有股票--第一次后一直不持有/第一次后不持有,现在持有* @create 2023-10-13 16:11*/
public class MaxProfit3Test {public int maxProfit(int[] prices) {int[][] dp=new int[prices.length][5];dp[0][0]=0;dp[0][1]=-prices[0];dp[0][2]=0;dp[0][3]=-prices[0];dp[0][4]=0;for (int i = 1; i < prices.length; i++) {dp[i][1]= Math.max(dp[i][0]-prices[i],dp[i-1][1]);dp[i][2]=Math.max(dp[i-1][2],dp[i-1][1]+prices[i]);dp[i][3]=Math.max(dp[i-1][3],dp[i-1][2]-prices[i]);dp[i][4]=Math.max(dp[i-1][4],dp[i-1][3]+prices[i]);}return dp[prices.length-1][4];}}

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

相关文章:

  • 专做衬衣的网站网站服务器排名前十
  • wordpress 3.8主题资阳优化团队资讯
  • 湄洲岛网站建设了解深圳最好的网站
  • 订餐网站设计石家庄网站建站推广
  • 鞋图相册网站怎么做商城开发需要多少钱
  • 沈阳市铁西区建设局网站这么建设新的网站
  • 旅游网站改版方案wordpress重置密码链接无效
  • 网站的开发环境上海网站建设红旗
  • 网站开发公司前端和后端开发人数比一般多少合适建百度网站
  • 网站带gov后缀做前端网站考虑兼容分辨率
  • nas做网站需要备案吗哪个网站可以做装修效果图
  • 网站建设 知识产权凡客商城
  • 如何跳过网站会员js判断是手机还是电脑访问网站
  • 最好的微网站建设公司推荐合肥网站建设服务公司
  • 医疗网站设计成都高端品牌网站建设
  • 小型网站运营网站制作 电子商城
  • 肇庆住房建设部网站购物网站开发背景需求
  • 云主机 多个网站网站 服务器 带宽 估算 网站流量
  • 企业营销型网站seo推广杭州app定制
  • 环保网站建设公司排名湖南正规seo优化报价
  • 假发网站是怎么做的微信开放平台在哪里进入
  • 空间 网站都有 肿么做网站直播视频在线
  • 专业网站设计制作咸阳网站开发公司电话
  • 利用wps做网站网页编辑如何添加图片
  • 电子商务的网站建设电子商务热门岗位
  • 域名备案查询网站备案与小学生一起做网站
  • 上海市城乡建设网站网站建设实训小组报告
  • 建设厅投诉网站首页可以做英文纵横字谜的网站
  • 浙江公司网站建设推广wordpress设置投稿者上传功图片
  • 朝阳 手机网站 建设wordpress minfy