首页 > 编程语言 >买卖股票的最佳时机(贪心算法)

买卖股票的最佳时机(贪心算法)

时间:2025-01-04 21:34:12浏览次数:6  
标签:int 算法 最佳时机 买入 prices 贪心 利润

给定一个数组 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。

 

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int min_in = prices[0];
        int max_Profit = 0;
        int n = prices.size();
        //贪心算法,每遇到一个价格,就更新当前最小买入值,并计算当前最大利润
        for(int i=0;i<n;i++){
            min_in = min(min_in,prices[i]);
            max_Profit = max(max_Profit,prices[i]-min_in);
        }
        return max_Profit;
    }
};

 

标签:int,算法,最佳时机,买入,prices,贪心,利润
From: https://www.cnblogs.com/yueshengd/p/18652427

相关文章

  • (2-5-02)目标检测与分割:SLAM定位与地图构建(02) Deep SLAM算法+图优化算法
    2.5.2 DeepSLAM算法DeepSLAM(SimultaneousLocalizationandMapping)是一种结合深度学习技术和SLAM技术的方法,旨在通过使用深度神经网络来改进SLAM系统的性能。SLAM是一种用于在未知环境中同时估计相机(或传感器)的位置和构建地图的技术。在DeepSLAM中,深度学习模型通常用......
  • C语言数据结构与算法(栈和队列)
    1.栈1.栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除......
  • 带你从入门到精通——机器学习(九. 聚类算法)
    建议先阅读我之前的博客,掌握一定的机器学习前置知识后再阅读本文,链接如下:带你从入门到精通——机器学习(一.机器学习概述)-CSDN博客带你从入门到精通——机器学习(二.KNN算法)-CSDN博客带你从入门到精通——机器学习(三.线性回归)-CSDN博客带你从入门到精通——机器学习(四.逻......
  • Spark职位信息推荐系统 协同过滤推荐算法 Echarts可视化 Django框架 简历投递 大数据
    博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌>......
  • 基于SpringBoot Vue协同过滤算法美食推荐小程序的设计与实现
    1.引言在当今的软件开发领域,企业级应用的开发和部署速度直接影响着业务的竞争力。SpringBoot以其轻量级、快速启动和强大的集成能力,成为构建现代企业级应用的首选框架。本文将带您深入了解SpringBoot框架的核心特性,并展示如何利用它构建一个高效、可扩展的系统。2.开发......
  • 【强化学习】Double DQN(Double Deep Q-Network)算法
            ......
  • 【强化学习】双延迟深度确定性策略梯度算法(TD3)详解
            ......
  • LeetCode算法题 (二叉树的直径)Day11!!!C/C++
    https://leetcode.cn/problems/diameter-of-binary-tree/description/一、题目描述给你一棵二叉树的根节点,返回该树的 直径 。二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。两节点之间路径的 长度 由它......
  • K-均值聚类算法
    K-均值聚类算法是一种常用的无监督学习算法,用于将数据集划分为K个互不重叠的簇。该算法的目标是最小化数据点到其所属簇中心点的平方距离的总和。算法步骤如下:随机选择K个中心点作为初始簇中心。对每个样本点,计算其到各个簇中心点的距离,并将其分配给距离最近的簇。更新簇中心......
  • 【base64算法】实战
    可以以ASCII码表示二进制数据,base64可以将二进制数据用64个字符表示,编码后的字符主要是64个字符位数不足用=补齐使用base64加密cmd.exe#include<winsock2.h>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<wchar.h>#include<wincrypt.h>#pragmac......