#15240: 思路


qqrainbow (愛蜜莉雅)

School : 國立嘉義高級中學
ID : 83319
IP address : [220.132.149.121]
Last Login :
2021-07-14 09:22:23
c435. MAX ! MAX ! MAX ! | From: [61.227.134.174] | Post Date : 2018-09-22 14:51

數列中最大差值=(大-小),且大的位置<小的位置

 

宣告一個變數max_ans <-這是答案

 

再宣告一個變數Max <-這是目前數列中找到的最大數字

 

在a[i]輸入時不斷求其與Max的差,當max_ans < Max-arr[i]時,更新max_ans。

 

但如果a[i] > Max,上述步驟就不用,但要更新Max

 

最後max_ans就是解答。

 
#17449: Re:思路


giant0620 (BlenderWang)

School : 國立彰化師範大學
ID : 61100
IP address : [1.165.88.5]
Last Login :
2021-05-19 17:23:02
c435. MAX ! MAX ! MAX ! | From: [118.163.203.107] | Post Date : 2019-04-12 00:23

數列中最大差值=(大-小),且大的位置<小的位置

 

宣告一個變數max_ans <-這是答案

 

再宣告一個變數Max <-這是目前數列中找到的最大數字

 

在a[i]輸入時不斷求其與Max的差,當max_ans < Max-arr[i]時,更新max_ans。

 

但如果a[i] > Max,上述步驟就不用,但要更新Max

 

最後max_ans就是解答。



有一點要注意一下

題目只有說答案「盡量大」,但沒有說答案不能是負的

雖然說剛剛試了一下,測資好像沒有,但是只要輸入剛好是遞增數列,就會出現答案是0或負數的情況(因為前面的數字一定小於或等於後面的數字)

所以如果要讓程式是「正確的」而不只是「會過測資」的話,還要能處理這種情況

 
#17453: Re:思路


qqrainbow (愛蜜莉雅)

School : 國立嘉義高級中學
ID : 83319
IP address : [220.132.149.121]
Last Login :
2021-07-14 09:22:23
c435. MAX ! MAX ! MAX ! | From: [163.27.3.123] | Post Date : 2019-04-12 13:16

請問你max_ans初始值設多少?

如果設-INF就不會有這個問題了。

 
#17459: Re:思路


asnewchien@gmail.com (david)

School : No School
ID : 68108
IP address : [61.223.61.40]
Last Login :
2021-09-24 13:01:45
c435. MAX ! MAX ! MAX ! | From: [61.223.53.154] | Post Date : 2019-04-12 23:18

請問你max_ans初始值設多少?

如果設-INF就不會有這個問題了。



max - min

怎會有負的

 
#17460: Re:思路


qqrainbow (愛蜜莉雅)

School : 國立嘉義高級中學
ID : 83319
IP address : [220.132.149.121]
Last Login :
2021-07-14 09:22:23
c435. MAX ! MAX ! MAX ! | From: [1.173.132.245] | Post Date : 2019-04-13 00:43

 max(a[i] - a[j]) 還必須保證 i < j,如果是嚴格遞增數列的話,那就會有負數出現。

 Ex: 1 2 3 4 5     max = -1

 
#17461: Re:思路


asnewchien@gmail.com (david)

School : No School
ID : 68108
IP address : [61.223.61.40]
Last Login :
2021-09-24 13:01:45
c435. MAX ! MAX ! MAX ! | From: [111.82.23.138] | Post Date : 2019-04-13 01:57

 max(a[i] - a[j]) 還必須保證 i < j,如果是嚴格遞增數列的話,那就會有負數出現。

 Ex: 1 2 3 4 5     max = -1

那我寫錯了。


 
#17462: Re:思路


giant0620 (BlenderWang)

School : 國立彰化師範大學
ID : 61100
IP address : [1.165.88.5]
Last Login :
2021-05-19 17:23:02
c435. MAX ! MAX ! MAX ! | From: [118.163.203.107] | Post Date : 2019-04-13 11:34

請問你max_ans初始值設多少?

如果設-INF就不會有這個問題了。



在a[i]輸入時不斷求其與Max的差,當max_ans < Max-arr[i]時,更新max_ans。

但如果a[i] > Max,上述步驟就不用,但要更新Max

因為你的敘述是這樣寫的

就算max_ans設整數最小值

只要第i個數比MAX大,就不會求其與MAX的差,而是會更新MAX

我只是指出這點

當然如果去掉

上述步驟就不用

這句話,就沒差了

 
ZeroJudge Forum