原题链接:#122 Best Time to Buy and Sell Stock II
要求:
假定你有一个包含n个元素的整型数组,其中的第i个元素是指定股票在第i天的价格。
设计一个算法来计算在这n天里可能获得的最大利润。注:只考虑单只该股票的买入和卖出时机,一天内可以买卖多次,但不允许同一时间内存在多次交易(即:再次买入之前,必须买入该股票)
难度:中等
分析:
贪心算法:在对问题求解时,总是做出在当前看来最好的选择。即:不从整体上最优加以考虑,只求局部最优解。
对于此题情境,获得可能的最大利润的手段为:买入后的次日,只要股价上涨就卖出。同时如果后一天股价下跌则前一天不买入。后一条如果没有时间机器任谁也无法事先知道。所以下面解法只能用于在n天中每天股价都已知的情况下求个理想值,并不能用于指导实际。
解决方案:
Java - 2 ms
public int maxProfit(int[] prices) { int maxProfit = 0; for(int i=prices.length-1; i>0; i--){ if(prices[i-1]>=prices[i]){ continue; }else { maxProfit += prices[i]-prices[i-1]; } } return maxProfit; }
相关推荐
- **股票买卖问题**:如LeetCode上的题目《Best Time to Buy and Sell Stock II》,通过贪心策略,每次遇到股价低于之前最低价时买入,遇到高于当前价格时卖出,可以实现利润的最大化。 - **零钱找零问题**:...
第二个问题“Best Time to Buy and Sell Stock II”(122题),题目条件相同,但允许进行多笔交易。在一次交易中,买入后再卖出才算是完成了一笔交易,且不能同时买入多股股票。此问题可以用贪心算法解决,即遍历...
leetcode卡 leetcode exercises 3-5 solutions everyday. fighting~ TODO array Best Time to Buy and Sell Stock II Valid Sudoku linked list Palindrome linked list Linked List Cycle trees Convert Sorted ...
- Best Time to Buy and Sell Stock II:不限制交易次数,寻找最大利润。 - Best Time to Buy and Sell Stock III:存在多日限制交易,最多两次交易。 - Best Time to Buy and Sell Stock IV:与前三者不同,可能...
- **Best Time To Buy and Sell Stock**:股票交易的最佳时机问题。 - **Unique Paths**:计算机器人到达目标位置的唯一路径数。 - **Maximum Subarray**:寻找数组中的最大子数组和。 - **Climbing Stairs**:...
Best Time to Buy and Sell Stock"股票买卖问题,可以利用动态规划找到最佳买卖时机。 5. 排序与查找:排序算法如快速排序、归并排序,查找算法如二分查找,都在实际面试中经常出现。例如,"148. Sort List"要求对...
7. **122.py** - 可能是LeetCode的122题,"Best Time to Buy and Sell Stock II"(买卖股票的最佳时机II),这是一道关于动态规划或贪心策略的题目,用于找出股票交易的最佳策略。 8. **156.py** - 这可能是...
JavaScript开发者在这一阶段可以挑战如"最长递增子序列"(Longest Increasing Subsequence)、"买卖股票的最佳时机含冷冻期"(Best Time to Buy and Sell Stock withCooldown)等题目,这些题目需要深入理解动态规划...
3. **Best Time to Buy and Sell Stock II**:这是一个经典的动态规划问题,用于找出股票的最佳买卖时机,可以连续多次买卖。理解状态转移方程和动态规划的原理至关重要。 4. **Jump Game II**:此问题涉及到广度...
* Best Time to Buy and Sell Stock:给定一个数组,返回股票买卖的最佳时机。这个题目需要使用动态规划的思想,将数组分解成更小的子数组,并找到最佳时机。 * Unique Paths:给定一个矩形,返回从左上角到右下角的...
- **买卖股票的最佳时机(Best Time to Buy and Sell Stock)**: 给定一个数组,它的第i个元素是一支给定股票第i天的价格,求出最大利润。 - **唯一路径(Unique Paths)**: 一个机器人位于一个m x n网格的左上角 (起始...
链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 示例1 输入: [3,3,5,0,0,3,1,4] 输出: 6 解释: 在第 4 天...
【买卖股票的最佳时机II】是LeeCode上的经典算法问题,...题目链接:[https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii)