题解 | 买卖股票的最好时机
买卖股票的最好时机
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%内容,订阅专栏后可继续查看/也可单篇购买
小白专属-牛客题解 文章被收录于专栏
专注于牛客平台编程题题解,文字+图解。内容很细,小白友好系列