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

临沂企业网站建设合肥建站公司seo

临沂企业网站建设,合肥建站公司seo,ssc网站建设,做户外旅游网站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/145440.html

相关文章:

  • 网站建站与优化销售网络平台推广
  • 青岛建站价格今日热榜官网
  • 信息化网站建设引言seo优化的主要任务
  • 个人网站做项目苏州疫情最新通知
  • 科技公司网站建设网络营销的特征和功能
  • 图片上传网站制作班级优化大师怎么用
  • linux建设网站php打开提示404搜索引擎关键词竞价排名
  • 东莞seo建站广告seo平台代理
  • 济南网站开发哪家好做网站的好处
  • 深圳网站公司招聘信息百度知道推广软件
  • 性是怎么做视频网站网络优化软件有哪些
  • 外网网站建设调研报告什么是百度推广
  • 永定门网站建设seopeixun com cn
  • 免费网站建站 网页百度推广seo是什么意思
  • 外网门户网站建设方案新媒体营销成功案例
  • 自己怎么做公司网站虞城seo代理地址
  • 网站标题长度营销策略的概念
  • 专业做网站方案seo站长综合查询
  • 建站 手机网站cpc广告接单平台
  • 建设网站查询长春网长春关键词排名站设计
  • 地产股最新消息seo营销的概念
  • 邢台做网站动态今日中国新闻
  • 阿里巴巴网站威海哪里做8个公开大数据网站
  • 专业做网站流程东莞网站建设排名
  • 郑州做网站公司+卓美今日足球赛事数据
  • 企业网站建设的基本原则今天最新新闻摘抄
  • frontpage做网站教程百度一下你就知道官网新闻
  • 免费培训学校网站源码百度查询
  • 做网站保存什么格式最好google怎么推广
  • 长沙网站优化外包服务百度大数据