三道SQL、两道编程。第一道优化一下100%。第二题 leetcode原题变种,股票问题。做题时,误以为最多只能交易两次,k当成2处理了,只能过了66.7%。以下是补交版本,没有运行,大概思路。public class Solution { public double get_max_profit (double M, int N, double[] historyPrices, int K) { // write code here //方法跟leetcode原题基本一样,区别是[0][0] 代表第一次持有的股票数量,[0][1] 代表卖出的钱 double[][] dp = new double[K][2]; for (int i = 0; i < k; i++) { dp[i][0] = M / historyPrices[0]; dp[i][1] = M; } for (int i = 1; i < N; i++) { dp[0][0] = Math.max(dp[0][0],dp[0][1]/historyPrices[i]); dp[0][1] = Math.max(dp[0][1],dp[0][0] * historyPrices[i]); for (int j = 1; j < k; j++) { dp[j][0] = Math.max(dp[j][0],dp[j - 1][1] / historyPrices[i]); dp[j][1] = Math.max(dp[j][1],dp[j - 1][0] * historyPrices[i]); } } return dp[k - 1][1] - M; }}