题解 | 买卖股票的最好时机(一)
买卖股票的最好时机(一)
https://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ // 总共只能买入和卖出一次,且买入必须在卖出的前面某一天 // 最大值减最小值, public int maxProfit (int[] prices) { // write code here if(prices.length == 0 || prices.length == 1) return 0; int max = 0; int[] dp = new int[prices.length + 1]; // 嵌套循环计算出每一天买入能获得的最大收益 for(int i = 0; i < prices.length; i++){ int buy = prices[i]; for(int j = i + 1; j < prices.length; j++){ if(buy < prices[j]){ dp[i] = Math.max(dp[i],prices[j] - buy); } } max = Math.max(max,dp[i]); } return max; } }