题目: 假设给定一个数组A[7,1,5,3,6,4] ,其中其中第 i 个元素是给定股票第 i 天的价格。设计一个算法找出最大利润。买卖规则:可以完成任意数量的交易,但是在购买这支股票之前,你必须把手上的这只股票卖掉。 举例: 输入:[7,1,5,3,6,4] 输出:7 解释: 第二天买入(price=1),第三天卖出(price = 5),profit = 5-1=4,然后第四天买入(price=3),第五天卖出(price=6),profit =6-3=3,则最大利润为4+3=7。
public class Price {
public static void main(String
[] args
) {
int[] arr
= { 7, 1, 5, 3, 6, 4 };
Price price
= new Price();
int n
= price
.getMaxPrice(arr
);
System
.out
.println("最大利润:" + n
);
}
public int getMaxPrice(int[] arr
) {
int max
= 0;
int min
= arr
[0];
for (int i
= 1; i
< arr
.length
; i
++) {
if (arr
[i
] < min
) {
min
= arr
[i
];
} else if (arr
[i
] - min
> 0) {
max
+= arr
[i
] - min
;
min
= arr
[i
];
}
}
return max
;
}
}