题解 | 买卖股票的最好时机
买卖股票的最好时机
http://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec
分析
求买股票的最佳时期,应该注意的细节:
- 卖出股票之前必须先买入
- 卖出的价格>买入时候的价格(得考虑利润)
- 给一个数组模拟股票,换句话说,就是查找数组中某两个元素差值的最大。
- 如果无利可图,请
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){
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
小白专属-牛客题解 文章被收录于专栏
专注于牛客平台编程题题解,文字+图解。内容很细,小白友好系列