#15240: 思路


qqrainbow (愛蜜莉雅)

學校 : 國立嘉義高級中學
編號 : 83319
來源 : [36.238.5.68]
最後登入時間 :
2023-04-26 23:31:35
c435. MAX ! MAX ! MAX ! | From: [61.227.134.174] | 發表日期 : 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)

學校 : 國立彰化師範大學
編號 : 61100
來源 : [140.113.207.98]
最後登入時間 :
2022-07-25 14:26:46
c435. MAX ! MAX ! MAX ! | From: [118.163.203.107] | 發表日期 : 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 (愛蜜莉雅)

學校 : 國立嘉義高級中學
編號 : 83319
來源 : [36.238.5.68]
最後登入時間 :
2023-04-26 23:31:35
c435. MAX ! MAX ! MAX ! | From: [163.27.3.123] | 發表日期 : 2019-04-12 13:16

請問你max_ans初始值設多少?

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

 
#17459: Re:思路


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [1.168.27.172]
最後登入時間 :
2024-04-24 20:07:19
c435. MAX ! MAX ! MAX ! | From: [61.223.53.154] | 發表日期 : 2019-04-12 23:18

請問你max_ans初始值設多少?

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



max - min

怎會有負的

 
#17460: Re:思路


qqrainbow (愛蜜莉雅)

學校 : 國立嘉義高級中學
編號 : 83319
來源 : [36.238.5.68]
最後登入時間 :
2023-04-26 23:31:35
c435. MAX ! MAX ! MAX ! | From: [1.173.132.245] | 發表日期 : 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)

學校 : 不指定學校
編號 : 68108
來源 : [1.168.27.172]
最後登入時間 :
2024-04-24 20:07:19
c435. MAX ! MAX ! MAX ! | From: [111.82.23.138] | 發表日期 : 2019-04-13 01:57

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

 Ex: 1 2 3 4 5     max = -1

那我寫錯了。


 
#17462: Re:思路


giant0620 (BlenderWang)

學校 : 國立彰化師範大學
編號 : 61100
來源 : [140.113.207.98]
最後登入時間 :
2022-07-25 14:26:46
c435. MAX ! MAX ! MAX ! | From: [118.163.203.107] | 發表日期 : 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