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

东莞seo建站推广外贸推广网站哪家

东莞seo建站推广,外贸推广网站哪家,花都商城网站建设,冷饮店怎么做网站声明:以下仅代表个人想法,非官方答案或最优题解! 题目: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的…

声明:以下仅代表个人想法,非官方答案或最优题解!

题目:

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

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

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

示例 1:

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

示例 2:

输入:prices = [7,6,4,3,1]
输出:0
解释:在这种情况下, 没有交易完成, 所以最大利润为 0。

下面谈谈本人的心路历程:

上来就做。心想,凭w暴力小子的身份,这点问题还是没问题的。第一遍题解如下:

class Solution {public int maxProfit(int[] prices) {int res = 0;// 初始化赋值int temp = 0;// 代表最大利润// 初始化赋值for (int i = 0; i < prices.length; i++) {// i代表被假设的最低价格for (int j = i; j < prices.length; j++) {// j代表被假设的最高价格if (prices[j] > prices[i]) {temp = prices[j] - prices[i];// 更新最大利润if (temp > res) {res = temp;// 更新最大利润}}}}return res;}
}

直接运行,ok没问题。然后提交。。。结果系统判定超时了。。。

也难怪,for了两次,O(n^2)时间复杂度,确实有超时的风险。

然后就是优化了,这一部分思考了很久,先把代码贴出来:

class Solution {public int maxProfit(int[] prices) {int minPrice = Integer.MAX_VALUE;// 初始化赋值int maxProfit = 0;// 初始化赋值for (int i : prices) {if (i < minPrice) {minPrice = i;// 更新最低价格} else {if (i - minPrice > maxProfit) {maxProfit = i - minPrice;// 更新最大利润}}}return maxProfit;}
}

简单说说思路:

最初的实现有两个嵌套的循环,每个循环都会遍历数组。那么可不可以通过“一次遍历”或“贪心算法”的方法去实现呢?

当然是可以的

在股票买卖问题中,最重要的的策略就是“低买高卖”。

因此,我们可以在遍历数组的同时,保持追踪最低价格和到目前为止的最大利润。当发现一个更高的价格时,便可以计算当前价格与最低价格之间的差值,并更新最大利润。如果当前价格比最低价格还低,那么就更新最低价格。

最后,这个算法的时间复杂度是 O(n),因为它只遍历了一次数组。

至此,这个问题正式结束。

如果你有问题,或者意见及建议,欢迎评论沟通!

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

相关文章:

  • 网站开发设计南邮wordpress 显示指定文章标题
  • 东至网站定制景区网站建设的好处
  • 家教网站建设做好门户网站建设
  • 网站建设whjzyh秀屿网站建设
  • 网站设计与网页制作模板wordpress 短代码嵌套
  • 做网站 广州05网全部答案数学
  • vps怎么上传网站程序wordpress修改管理员密码
  • 做请柬网站中国建设银行网站e路
  • 网站的总体方案与功能设计网站索引怎么做
  • 东莞市网站建设分站企业营销自己的网站
  • 网站设计开发工程师wordpress 允许用户上传图片
  • 怎么做繁体字网站建设银行网上营业厅
  • 高端网站制作费用wordpress 只允许
  • js做网站统计广东营销式网站
  • 网站做排名需要多少钱注册安全工程师考试结果查询时间
  • 网站开发程序都有什么搜狐快站建设pc网站
  • 做网站程序怎么写网站建设公司龙华
  • 镇赉县做网站的云栖建站
  • 查询网站是否过期咸阳免费做网站
  • 做简历的网站都有哪些内容服装企业网站策划书
  • 怎么设计一个网站张家港建设银行网站
  • 做钢化膜网站wordpress 媒体库 直链
  • 公司网站设计广州梧州建设厅官方网站
  • 微信 网站设计模板网站推广软件信息
  • 玉山县住房城乡建设局网站php 和wordpress
  • 苗木网站开发需求互动平台怎么改名字
  • 怎么建公司免费网站怎么看到网站开发时间
  • 东莞网站设计案例新郑做网站推广
  • 水泥公司网站建设沭阳县建设局网站
  • 哪个网站做漫画可以有钱建设网站模块需要哪些内容