写一个JS函数,传入一个一维数组表示1只股票每日收盘股价,输出可获得最大收益的一次买入与卖出时间点

例:
输入: [4,5,3,5,6,8,6,3,2,5]
输出:第3天买入 第6天卖出 收益5;

输入:[7, 7, 8, 3, 6, 2, 3, 3];

输出:第4天买入 第5天卖出 收益3;

arr= [4,5,3,5,6,8,6,3,2,5],num=0,a,b;
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[j]-arr[i]>num){
num=arr[j]-arr[i]
a=i;
b=j;
    }
  }
}
console.log('第'+(a+1)+'天买入','第'+(b+1)+'天卖出','收益'+num)
//大概逻辑是这样的,写的比较渣

思路就是先设一个最大变量max,然后利用冒泡排序求差值,差值大于max,重新赋值max,并记录2个数的下标。最后的max就是收益,2个数分别就是买入和卖出的那天

function mf(arr) {
	var str = "";
	var m = 0;
	var e = 0;
	for (var i = 1; i < arr.length; i++) {
		var t = arr[i] - arr[m];
		if (t>e) {
			e = t;
			str = "第"+(m+1)+"天买入 第"+(i+1)+"天卖出 收益"+e;
		}
		if (t<0)
			m = i;
	}
	return str;
}

console.log(mf([4,5,3,5,6,8,6,3,2,5]));
console.log(mf([7,7,8,3,6,2,3,3]));