首页 > 其他分享 >二维数组,卖股票

二维数组,卖股票

时间:2022-12-23 09:34:51浏览次数:31  
标签:int 股票 收益 二维 数组 prices dp

int[][] dp = new int[n][2]

int[i][0] 第i天不持仓收益

int[i][1] 第i天持仓收益

BM81 买卖股票的最好时机(二)

 

描述

假设你有一个数组prices,长度为n,其中prices[i]是某只股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益 1. 你可以多次买卖该只股票,但是再次购买前必须卖出之前的股票 2. 如果不能获取收益,请返回0 3. 假设买入卖出均无手续费   import java.util.*;

public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      * 计算最大收益      * @param prices int整型一维数组 股票每一天的价格      * @return int整型      */     public int maxProfit (int[] prices) {         // write code here         //dp[i][0] 第i天不持有股票的收益         //dp[i][1] 第i天持有股票的收益         int len = prices.length;         int[][] dp  = new int[len][2];         dp[0][0] = 0;         dp[0][1] = -prices[0];         for(int i=1; i<len; i++){             dp[i][0] =Math.max(dp[i-1][1]+prices[i], dp[i-1][0]);             dp[i][1] = Math.max(dp[i-1][0]-prices[i], dp[i-1][1]);           }         return dp[len-1][0];     } }   参考:牛客

 

标签:int,股票,收益,二维,数组,prices,dp
From: https://www.cnblogs.com/northli/p/17000004.html

相关文章