zoukankan      html  css  js  c++  java
  • 风口的猪-中国牛市

    风口的猪-中国牛市

    题目描述

    风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<=100,0<=prices[i]<=100
    示例1

    输入

    3,8,5,1,7,8

    输出

    12

    枚举:由外到里,一点点把所有的情况都枚举出来,而且把实际问题抽象为数学问题

    把问题抽象为取数问题即可

     情况很多的枚举,把问题分细,就好枚举了。

     1 class Solution {
     2 public:
     3     /**
     4      * 计算你能获得的最大收益
     5      * 
     6      * @param prices Prices[i]即第i天的股价
     7      * @return 整型
     8      */
     9     /*
    10     枚举所有的买入点和卖出点
    11     有一个要求
    12     其实就是在一串数中选四个数
    13     并且第二个大于第一个
    14     第四个大于第三个
    15     */
    16     int calculateMax(vector<int> prices) {
    17         //一次都不买
    18         int ans=0;
    19         //买一次
    20         for(int i=0;i<prices.size();i++){
    21             for(int j=i+1;j<prices.size();j++){
    22                 if(prices[j]-prices[i]>ans){
    23                     ans=prices[j]-prices[i];
    24                 }
    25             }
    26         }
    27         //买两次
    28         for(int i1=0;i1<prices.size();i1++){
    29             for(int i2=i1+1;i2<prices.size();i2++){
    30                 for(int i3=i2+1;i3<prices.size();i3++){
    31                     for(int i4=i3+1;i4<prices.size();i4++){
    32                         if(prices[i4]-prices[i3]+prices[i2]-prices[i1]>ans){
    33                             ans=prices[i4]-prices[i3]+prices[i2]-prices[i1];
    34                         }
    35                     }
    36                 }
    37             }
    38         }
    39         return ans;
    40     }
    41 };
  • 相关阅读:
    Pydev Console中文提示乱码的问题
    pg_dump命令帮助信息
    Aptana下Django1.6以后的项目模板结构改造
    老外的项目开发在线服务网站资源
    淘宝技术交流笔记
    Python并发编程的几篇文章
    gevent程序员指南
    IOS UITableView拖动排序功能
    Codeforces 300A Array
    一次mysql优化经历
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7736934.html
Copyright © 2011-2022 走看看