×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
解題報告
#21588: 終於有適合用counting sort的題目了
howgibaa@gmail.com
(郝雞掰)
學校 : 不指定學校
編號 : 108829
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [140.113.69.85]
最後登入時間 :
2024-10-30 15:40:29
e809.
1.字母排序 (Letters)
--
2019年
11月
TOI
練習賽
潛力組
| From: [220.141.67.89] | 發表日期 : 2020-06-24 19:57
我的變數宣告:
老師自定的字母排序規則 : order[26]
待排序的字串 : str[5000000]
order長度 : orderlen
str長度 : len
要找的位置 : find (就是輸入Q之後要輸入的東西)
答案的位置 : index
關鍵一:
order的長度即為字母的種類數
關鍵二:
宣告int counting[26];
建立雙重迴圈 只要order[i]跟str裡面的元素相同 就要counting[i]++
這樣counting[26]就會照著order的順序 儲存各個字母的個數
關鍵三:
建立一個迴圈
find-=counting[i] 此時index=i 只要find<=0 就要break (答案便是order[index])
p.s. 因為要執行Q次 所以還要再外加一個迴圈
祝好運!!!
ZeroJudge Forum