首先调用fun(date,n,0)不用在for循环内,直接调用,min同理。你在判断max和dp[i]的 大小之后,应该单独用一个自变量count=i;保存一下。不然你在for循环之后的交换两个数字的位置就出错了,此时的i不是最大值时候的i;min同理。
1.首先,判断最大值和最小值就错了你要用max和min去跟每个值比较,而不是i和i+1比较2.最大值对应的i应该找个变量保存住,否则循环结束后,i就是个定值,你永远是用开头和结尾的去交换,而且i+1还超出数组范围了