121. Best Time to Buy and Sell Stock
来源:互联网 发布:淘宝怎样投诉客服 编辑:程序博客网 时间:2024/05/01 09:04
Say you have an array for which the ith element is the price of a given stock on day i.
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.
Example 1:
Input: [7, 1, 5, 3, 6, 4]
Output: 5
max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)
Example 2:
Input: [7, 6, 4, 3, 1]
Output: 0
In this case, no transaction is done, i.e. max profit = 0.
思路:先扫一遍,求出差值,然后就是求最大子序列和问题
class Solution {public: int maxProfit(vector<int>& prices) { int size = prices.size(); int tmpsum = 0, maxsum = 0; if(size == 0) return maxsum; int *F = new int[size - 1]; for(int i = 1; i < size; ++i) F[i - 1] = prices[i] - prices[i - 1]; for(int i = 0; i < size - 1; ++i){ tmpsum += F[i]; if(tmpsum < 0) tmpsum = 0; else { if(tmpsum > maxsum) maxsum = tmpsum; } } return maxsum; }};
又做了一遍,不用这么麻烦
class Solution {public: int maxProfit(vector<int>& prices) { int len = prices.size(); if(len == 0) return 0; int buy = prices[0]; int profit = 0; for(int i = 1; i < len; ++i){ if(prices[i] < buy) buy = prices[i]; else if(prices[i] > buy){ if(prices[i] - buy > profit) profit = prices[i] - buy; } } return profit; }};
0 0
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time To Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- C语言中的字节对齐和对程序的影响以及位段的定义
- 学习变参模板
- LeetCode - 119. Pascal's Triangle II - 思路详解 - C++
- Memcached初探
- 简单搭建 Apache Kafka 分布式消息系统
- 121. Best Time to Buy and Sell Stock
- MySql数据库乱码的处理方式
- js里面怎么动态的为对象添加属性
- 如何定制 Spring Boot 的 Banner
- Apache Avro 序列化与反序列化 (Java 实现)
- Android实现基于试卷知识点的树形控件
- Kafka 生产消费 Avro 序列化数据
- 51nod 1021 石子归并(dp-矩阵连乘)
- 数论专题 T4