首页 > 其他分享 >leetcode面试经典150题- 121. 买卖股票的最佳时机

leetcode面试经典150题- 121. 买卖股票的最佳时机

时间:2024-08-13 19:37:45浏览次数:14  
标签:150 minVal int maxP maxProfit 121 prices leetcode

https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/description/?envType=study-plan-v2&envId=top-interview-150

go

package leetcode150

import (
    "testing"
)

func TestMaxProfit(t *testing.T) {
    prices := []int{2, 1, 2, 0, 1}
    res := maxProfit(prices)
    println(res)
}

func maxProfit(prices []int) int {
    if len(prices) <= 1 {
        return 0
    }

    maxP := 0
    minVal := prices[0]
    for i := 1; i < len(prices); i++ {
        if prices[i] < minVal {
            minVal = prices[i]
        } else {
            if prices[i]-minVal > maxP {
                maxP = prices[i] - minVal
            }
        }
    }

    return maxP
}

java

package leetcode150;

public class a7_121_maxProfit {
    public int maxProfit(int[] prices) {
        if (prices.length == 1) {
            return 0;
        }
        int maxP = 0;
        int minVal = prices[0];
        for (int i = 1; i < prices.length; i++) {
            if (prices[i] < minVal) {
                minVal = prices[i];
            } else {
                if (prices[i] - minVal > maxP) {
                    maxP = prices[i] - minVal;
                }
            }
        }
        return maxP;
    }
}

 

标签:150,minVal,int,maxP,maxProfit,121,prices,leetcode
From: https://www.cnblogs.com/MoonBeautiful/p/18357584

相关文章

  • 在 S7-1200/S7-1500 中,如何测量一个完整程序、子程序或特定组织块的运行时间?
    RUNTIME"指令的第一次调用用来设置测量时间的起点,并将其保存在DB变量"Memory"中来为第二次调用做参考。然后调用 "TestBlock" 程序块。当程序块被执行后,"RUNTIME" 指令第二次调用,第二次调用来计算"TestBlock"程序块的运行时间并将结果(秒)写入DB变量"runtimeResult"中......
  • leetcode面试经典150题- 189. 轮转数组
     https://leetcode.cn/problems/rotate-array/description/?envType=study-plan-v2&envId=top-interview-150  gopackageleetcode150import"testing"funcTestRotate(t*testing.T){nums:=[]int{1,2}rotate2(nums,3)for_,num......
  • 代码随想录算法训练营第 42 天 |LeetCode 188.买卖股票的最佳时机IV LeetCode309.最佳
    代码随想录算法训练营Day42代码随想录算法训练营第42天|LeetCode188.买卖股票的最佳时机IVLeetCode309.最佳买卖股票时机含冷冻期LeetCode714.买卖股票的最佳时机含手续费目录代码随想录算法训练营前言LeetCode188.买卖股票的最佳时机IVLeetCode309.最佳买卖......
  • 四数相加2 | LeetCode-454 | 哈希集合 | Java详细注释
    ......
  • 长度最小的子数组 | LeetCode-209 | 双指针+滑动窗口 | 前缀和+二分查找 | Java详细注
    ......
  • leetcode递归(LCR 141. 训练计划 III)
    前言经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。递归大部分题解可以使用迭代方式求解,使用递归是为了熟悉递归的解题思路。描述给定一个头节点为 head 的单链表用于记录一系列核心肌群训练编号,请将该系列训练编号 倒序 记录......
  • leetcode面试经典150-26. 删除有序数组中的重复项
    https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/?envType=study-plan-v2&envId=top-interview-150 packageleetcode150import"testing"funcTestRemoveDuplicates(t*testing.T){nums:=[]int{0,0,1,1,1,......
  • leetcode刷题笔记8.5-8.9
    刷题笔记8.5-8.9刷题顺序依照labuladong算法小抄两数之和(8.5)初始化数组:int[]num=newint<length>;int[]num={1,2,3,4};其中数组名代表指针变量,故不可以直接将数组名a赋值给数组名b错误的复制:int[]b=a;数组元素复制:假设数组nums的元素复制到numsSort中:int[]......
  • Leetcode. 11
    这个题开始之前我们首先做一个思路的分析随着这个柱子的不断的变化这个容器中的水也是会跟着相应的变大和变小的所以我们先找出这个里面的规律在每个状态下,无论长板或短板向中间收窄一格,都会导致水槽底边宽度−1​变短:若向内移动短板,水槽的短板min(h[i],h[j])......
  • 厦门国际银行一个月不到被罚1500万:屡屡违规之下,业绩也堪忧
    《港湾商业观察》施子夫 李镭近期屡屡被罚的厦门国际银行似乎走到了风口浪尖。一个月不到,厦门国际银行就因数十项违规被罚超过1500万,其合规层面的挑战可见相当严重。​一个月不到合计被罚1500万8月9日,国家金融监督管理总局泉州监管分局行政处罚信息公开表显示,厦门国际......