一道面试题
一个月内的股票价格数组arr[]={9,6,1,4,7,2,8,3………………},写一个方法求得买卖股票获得的最大利润。要求最大利润必须是卖股票的日志在买股票的日志之后,且只做一次循环。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public static void main(String[] args) {
int arr[] = {9,6,1,4,7,2,8,3}; int min = arr[0]; int maxGrep = arr[1] - arr[0]; for (int i = 1; i < arr.length; i++) { if( arr[i] < min ) min = arr[i]; if(arr[i] - min > maxGrep){ maxGrep = arr[i] - min; } } System.out.println(maxGrep); }
|