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

免费域名注册和免费建站专业竞价托管哪家好

免费域名注册和免费建站,专业竞价托管哪家好,专业定制网站,重庆是哪个省属于哪个省份leetcode 122 思路 方法一的核心思想是简单的贪心策略。我们每天都看当前价格和下一个价格的差值。如果下一个价格高于当前价格(即diff > 0),那么就认为当天可以买入并在第二天卖出,赚取利润。因此,方法一把所有…

leetcode 122
在这里插入图片描述

思路

方法一的核心思想是简单的贪心策略。我们每天都看当前价格和下一个价格的差值。如果下一个价格高于当前价格(即diff > 0),那么就认为当天可以买入并在第二天卖出,赚取利润。因此,方法一把所有的价格差(即diff > 0的部分)累加起来,最终得出最大利润

步骤:

遍历整个数组,计算相邻两个价格的差值
如果差值为正(表示价格上涨),则加入利润

时间复杂度:O(n),其中 n 是 prices 数组的长度,因为只需要遍历一遍数组
空间复杂度:O(1),只使用了常量空间

方法二模拟买入和卖出的策略 重点是通过标记是否已经持有股票来区分买入和卖出时机

通过比较当前和前一个价格差(curdiff 和 prediff)来决定买入和卖出。
flag 标志用来表示当前是否持有股票。如果持有股票且价格下跌,则卖出;如果没有股票且价格上涨,则买入。
在循环结束后,检查是否还有未卖出的股票,如果有则在最后时刻卖出
方法二和之前的摆动序列很相似,也可以参考此博文

实现

方法1-贪心算法
var maxProfit = function (prices) {let sum = 0;for (let i = 0; i < prices.length - 1; i++) {let diff = prices[i + 1] - prices[i]if (diff > 0) {// 可以买入sum += diff}}return sum;
};
方法2
var maxProfit = function (prices) {let prediff = 0, curdiff = 0;let sum = 0, flag = false;for (let i = 0; i < prices.length - 1; i++) {curdiff = prices[i + 1] - prices[i];if (curdiff > 0 && prediff <= 0) {// 可以买入sum -= prices[i]flag = trueprediff = curdiff}if (flag && curdiff < 0 && prediff >= 0) {// 可以卖出sum += prices[i]flag = false;prediff = curdiff}}// 到最后都还没有卖出,把最后一个卖掉if (flag) {sum += prices[prices.length - 1]}return sum;
};
http://www.dtcms.com/wzjs/139201.html

相关文章:

  • 为什么网站要备案自己怎么做网址
  • 北京网站设计开发公司长沙seo推广外包
  • 金山网站建设武汉百度快照优化排名
  • 网站管理维护怎么做nba最新比赛直播
  • 国家高新区网站建设湖南关键词优化快速
  • 精品课程网站建设毕业论文网络广告营销的概念
  • wordpress字怎么变大seo企业建站系统
  • 公众号开发资料如何优化网页加载速度
  • 汕头时时彩网站建设营销平台
  • 静态网站建设实训报告爱站长尾词
  • 商务网站专题页郑州网站优化seo
  • 网站分享做描点链接百度竞价多少钱一个点击
  • 免费做图表的网站深圳百度开户
  • 怎么让网站快速收录西安seo关键词推广
  • 百度 新网站 重定向过多海南seo排名优化公司
  • 中德生态园网站定制长春网站开发
  • 做网站应该用什么语言来开发aso优化的主要内容为
  • 网站前面的小图标怎么做百度提交网址入口
  • 网站建设与维护济南做网站公司
  • 河东做网站的公司百度售后电话人工服务
  • java一般用来做网站后台吗如何提高自己在百度的排名
  • 企业官方网站建设文案写作软件app
  • 专门做衣服的网站有哪些金蝶进销存免费版
  • 企业建站系统java短视频营销的特点
  • 如何推进政府网站建设方案汕头seo网站建设
  • vue企业门户网站模板会计培训机构排名前十
  • 开源门户网站苏州seo建站
  • 成都网站建设公司有哪些网址大全是ie浏览器吗
  • oppo网站建设网络营销网
  • 铜陵高端网站建设百度搜索指数排名