Re: [討論] 令人印象深刻的遞迴問題?
※ 引述《Ohwil ( )》之銘言:
: ※ 引述《yauhh (喲)》之銘言:
: 假設前面n個存在一個比較好的交易
: 第i個時間買si 第k個時間賣sk, 價差sk-si k>i
: 檢查第n+1個時間點是否可以賣
: (不考慮買,因為你不知道會不會有n+2的時間點)
: (如果可以賣,就把i,k的值換掉)
: 只要在前面n個多存一個最小值 min_n 就可以達到O(n)
: 應該就是遞迴的思考了吧?
哇..再來獻醜一次,這次用Ohwil大大的演算法,應該寫對了吧?
#include <stdio.h>
#include <stdlib.h>
int main()
{
double prices[] = {55.39, 109.23, 48.29, 81.59,
81.58, 105.53, 94.45, 12.24};
double min = 9999, max_diff = 0;
int i;
for(i = 0; i < 8; i++) {
if(prices[i] < min) {
min = prices[i];
}
if((prices[i] - min) > max_diff) {
max_diff = prices[i] - min;
}
}
printf("%lf\n", max_diff);
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.224.206
※ 編輯: curist 來自: 111.251.224.206 (04/04 20:17)
推
04/04 20:24, , 1F
04/04 20:24, 1F
→
04/04 20:25, , 2F
04/04 20:25, 2F
→
04/04 20:25, , 3F
04/04 20:25, 3F
→
04/04 20:40, , 4F
04/04 20:40, 4F
→
04/04 20:40, , 5F
04/04 20:40, 5F
→
04/04 21:12, , 6F
04/04 21:12, 6F
→
04/04 21:13, , 7F
04/04 21:13, 7F
→
04/04 21:15, , 8F
04/04 21:15, 8F
→
04/04 21:15, , 9F
04/04 21:15, 9F
→
04/04 21:17, , 10F
04/04 21:17, 10F
推
04/04 21:20, , 11F
04/04 21:20, 11F
→
04/04 22:06, , 12F
04/04 22:06, 12F
推
04/04 22:36, , 13F
04/04 22:36, 13F
→
04/04 22:38, , 14F
04/04 22:38, 14F
討論串 (同標題文章)