Re: [閒聊] 每日leetcode

看板Marginalman作者 (enmeitiryous)時間1年前 (2024/08/07 13:43), 編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串659/1549 (看更多)
273. Integer to English Words 題目: 給你一個2^32-1到0之間的一個整數,把他轉換成英文描述法,例如123->One Hundred Twenty Three,以及101->One Hundred One,不是口語會說的One hundred and One 思路:利用遞迴的方式處理,分別處理該數對10^9的商數、餘數,以此類推,概念不難 但通過率很低(31.3%),可能是因為很多人跟我一樣打錯字? void he_lper(int nums,string &s,vector<string>& filist,vector<string>& tonintenn,vector<string>& tenlist){ if(nums>=(1000000000)){ s+=filist[(nums/(1000000000))]; s+=" Billion"; if(nums%(1000000000)){ s+=" "; he_lper((nums%(1000000000)),s,filist,tonintenn,tenlist); } } else if(nums>=(1000000)){ he_lper((nums/(1000000)),s,filist,tonintenn,tenlist); s+=" Million"; if(nums%(1000000)){ s+=" "; he_lper((nums%(1000000)),s,filist,tonintenn,tenlist); } } else if(nums>=(1000)){ he_lper((nums/(1000)),s,filist,tonintenn,tenlist); s+=" Thousand"; if(nums%(1000)){ s+=" "; he_lper((nums%(1000)),s,filist,tonintenn,tenlist); } } else if(nums>=(100)){ s+=filist[(nums/100)]; s+=" Hundred"; if(nums%(100)){ s+=" "; he_lper((nums%(100)),s,filist,tonintenn,tenlist); } } else if(nums>=10){ if((nums/10)>1){ s+=tenlist[(nums/10)]; if((nums%(10))){ s+=" "; he_lper((nums%(10)),s,filist,tonintenn,tenlist); } } else{ s+=tonintenn[(nums-10)]; return; } } else{ if(nums==0){ if(s==""){ s+="Zero"; } } else{ if(s!=""){ s+=filist[nums]; } else{ s+=filist[nums]; } } } } string numberToWords(int num) { vector<string> fir_dig={"Zero","One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}; vector<string> sec_dig={"Zero", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"}; vector<string> ten_pate={"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}; string ans=""; he_lper(num,ans,fir_dig,ten_pate,sec_dig); return ans; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.239.43 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1723009430.A.D1B.html

08/07 13:52, 1年前 , 1F
大師
08/07 13:52, 1F
文章代碼(AID): #1cimcMqR (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cimcMqR (Marginalman)