LeetCode题目-122

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2021-03-13 21:43:24

简介 LeetCode题目-122


✏Leetcode基础刷题之(122. Best Time to Buy and Sell Stock II)


✏描述

给定一个数组,其中第i个的数值是第i天给定的股票的价格.计算出它最大的利润空间(卖出的钱减去买入的钱就是你的利润空间),和昨天不同的是,昨天只能买入一次,然后卖出,今天的题目可以多次交易(可以多次买入卖出一只股票).但是你不能同时进行多笔交易,也就是说,你再购买前,得先确保已经卖掉了之前买入的.


✏题目实例

✏题目分析

思路就是循环整个数组,从第一个数开始比较,只要后一个数大于前一个数,说明此时就是有利润空间的,按照这样的流程走,只要有利润空间我就卖出,最后把所有的利润空间值和在一起,就是所能获取的最大利润.

     /**
        * @param Integer[] $prices
        * @return Integer
        */
       function maxProfit($prices) {
            $max=0;
           for($i=0;$i < count($prices);$i++) {
               if($prices[$i]<$prices[$i+1]) {
                   $max+=$prices[$i+1]-$prices[$i];
               }
           }
           return $max;
       }

✏时间复杂度

这里有一个for循环,循环的次数取决于数组的个数,时间复杂度就是O(n),存储的是个恒定的空间,所以空间复杂度是O(1)。

转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云