• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

LeetCode -- Best Time to Buy and Sell Stock II

题目描写叙述:


Say you have an array for which the ith element is the price of a given stock on day i.


Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).


就是给出一些天的股票价格。算出最大利润。

要求:在卖掉当前手中股票之前不能买下一次的股票。


因为题目的这个要求。本题的难度就减少了。仅仅须要在一次遍历中,推断下一次的价格是否比当前手里的价格高,高了就卖,算出差值就是利润,累加这个差值就能够了。


实现代码:





public class Solution {
    public int MaxProfit(int[] prices) {
        if(prices == null || prices.Length == 0){
		return 0;
	}
	
	var sum = 0;
	for(var i = 0; i < prices.Length - 1; i ++){
		sum += prices[i] < prices[i+1] ? prices[i+1]-prices[i] : 0;
	}
	
	return sum;
    }
}


posted on 2017-08-20 18:30  cynchanpin  阅读(153)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3