分析

求买股票的最佳时期,应该注意的细节:

  • 卖出股票之前必须先买入
  • 卖出的价格>买入时候的价格(得考虑利润)
  • 给一个数组模拟股票,换句话说,就是查找数组中某两个元素差值的最大。
  • 如果无利可图,请return 0

解法一:暴力(常规大循环解决)

思路步骤:

  • 最显而易见的解法,当然可能并不是最优的解法

  • 声明变量ans=0存放最终答案

  • 两层for循环,分别找到数组中最大的差值,表示利润最大化

  • 比较并更新ans的值

  • 返回ans即为答案

Java代码参考:

import java.util.*;


public class Solution {
    /**
     * 
     * @param prices int整型一维数组 
     * @return int整型
     */
    //解法一:暴力大循环
    public int maxProfit (int[] prices) {
        // write code here
        int ans = 0;
        int len = prices.length;
        //爱的魔力for循环
        for(int i=0;i<len;i++){
            for(int j=i+1;j<len;j++){
                int tmp_ans = prices[j]-prices[i];
                //更新答案
                if(tmp_ans>ans){