rinetd vue less CK laravel templates optimization enums Minjs pmp培训视频 less官网 jquery的点击事件 jquery第一个子元素 mysql新增用户和权限 python正则匹配中文 div字体加粗 mysql时间戳转日期 python模块 python安装教程 python自学 python定义变量 python变量类型 python中pop函数 java中的多态 java运行环境 javarandom java文件删除 linux目录 js四舍五入 灼热峡谷 系统集成项目管理工程师教程 脚本软件 stretchcolumns 手机模拟器下载 mac地址修改 魔兽改图工具 画图怎么添加文字 光头强换肤助手 斑驳纹理 谷歌浏览器访问助手
当前位置: 首页 > 学习教程  > 编程语言

Leetcode剑指offer 63股票的最大值2021 2.13新年第一道

2021/2/13 19:05:25 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 1)的时候买入,在第 5 天(股票价格 6&…

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?

示例 1:

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

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

限制:

0 <= 数组长度 <= 10^5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
    public int maxProfit(int[] prices) {
    //这个题官方题解用贪心算法实现。维护两个变量,一个是最小值变量,一个是结果集
        if(prices.length == 0) {return 0;}
        int minValue = Integer.MAX_VALUE;
        int res = 0;
        for(int i = 0;i < prices.length;i++){
        //如果新来的价格小于最小值,则更新最小值
            if(prices[i] < minValue){
                minValue = prices[i];
                //否则,如果新来的值和最小值之查大于结果集,则更新结果集
            }else if(prices[i] - minValue > res){
                res = prices[i] - minValue;
            }
        }
        return res;
    }
}

本文链接: http://www.dtmao.cc/news_show_700274.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?