动态规划(1)
来源:互联网 发布:淘宝卖家升级好难 编辑:程序博客网 时间:2024/06/06 15:37
原题:
/** * Created by gouthamvidyapradhan on 17/03/2017. * Say you have an array for which the ith element is the price of a given stock on day i. * <p> * If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit. * <p> * Example 1: * Input: [7, 1, 5, 3, 6, 4] * Output: 5 * <p> * max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price) * Example 2: * Input: [7, 6, 4, 3, 1] * Output: 0 * <p> * In this case, no transaction is done, i.e. max profit = 0. */
答案:
public class BestTimeToBuyAndSellStocks { /** * Main method * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { int[] prices = {1, 1, 1, 1, 1}; System.out.println(new BestTimeToBuyAndSellStocks().maxProfit(prices)); } public int maxProfit(int[] prices) { if (prices.length == 0) return 0; int[] max = new int[prices.length]; max[prices.length - 1] = prices[prices.length - 1]; for (int i = prices.length - 2; i >= 0; i--) { max[i] = Math.max(prices[i], max[i + 1]); } int result = Integer.MIN_VALUE; for (int i = 0, l = max.length; i < l; i++) { result = Math.max(result, max[i] - prices[i]); } return result; }}
阅读全文
0 0
- 动态规划(1)
- 动态规划(1)
- 动态规划(1)
- 动态规划(1)
- 动态规划(1)
- 【Algorithm】动态规划 (1) HDU 动态规划题集
- 动态规划 (1) HDU 动态规划题集
- 动态规划练习(1)
- 算法-动态规划(1)
- 动态规划学习(1)
- 【动态规划(一)】动态规划基础
- 0-1背包算法(动态规划)
- 0-1背包问题(动态规划)
- 0-1背包问题(动态规划)
- 动态规划(1)1163 The Triangle
- 动态规划(0-1背包问题)
- 0-1背包问题(动态规划)
- 数据结构与算法(1)--动态规划
- entity framework 批量操作
- Jenkins用户手册-安装
- HTML <object> 标签
- 【洛谷2458】【SDOI2006】保安站岗(树形DP)
- 卷积神经网络
- 动态规划(1)
- 前端面试相关
- iOS中由于代理没有释放导致的crash
- 如何避免ajax重复提交
- VTK的安装至集成至VS中
- 登录注册模块解决方案
- python中数据库操作
- linux下 mysql 主从配置
- PHPExcel常用操作说明