मान लीजिए कि हमारे पास एक बॉल फ़ैक्टरी है जहाँ हमारे पास n गेंदों की संख्या l से r (दोनों सम्मिलित) है और हमारे पास 1 से अनंत तक की संख्या में अनंत बक्से हैं। इसलिए यदि हम प्रत्येक गेंद को गेंद की संख्या के अंकों के योग के समान संख्या वाले बॉक्स में रखते हैं। (उदाहरण के तौर पर, बॉल नंबर 123 को बॉक्स नंबर 1 + 2 + 3 =6) में रखा जाएगा। इसलिए यदि हमारे पास दो मान l और r हैं, तो हमें सबसे अधिक गेंदों वाले बॉक्स में गेंदों की संख्या ज्ञात करनी होगी।
इसलिए, यदि इनपुट l =15 r =25 जैसा है, तो आउटपुट 2 होगा क्योंकि
-
गेंद नंबर 15 को 1+5 =6 के अंदर रखा जाएगा
-
गेंद नंबर 16 को 1+6 =7 के अंदर रखा जाएगा
-
बॉल नंबर 17 को 1+7 =8 के अंदर रखा जाएगा
-
बॉल नंबर 18 को 1+8 =9 के अंदर रखा जाएगा
-
गेंद नंबर 19 को 1+9 =10 के अंदर रखा जाएगा
-
गेंद संख्या 20 को 2+0 =2 के अंदर रखा जाएगा
-
गेंद संख्या 21 को 2+1 =3 के अंदर रखा जाएगा
-
गेंद संख्या 22 को 2+2 =4 के अंदर रखा जाएगा
-
गेंद संख्या 23 को 2+3 =5 के अंदर रखा जाएगा
-
गेंद नंबर 24 को 2+4 =6 के अंदर रखा जाएगा
-
गेंद संख्या 25 को 2+5 =7 के अंदर रखा जाएगा
इसलिए बॉक्स 6 और 7 में अधिकतम संख्या में गेंदें हैं, इसलिए उत्तर 2 है
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
dict:=एक नया नक्शा
-
मेरे लिए l से r की सीमा में, करें
-
कुल:=0
-
i के प्रत्येक अंक j के लिए, करें
-
कुल:=कुल + जे
-
-
अगर टोटल डिक्टेट में मौजूद नहीं है, तो
-
तानाशाही [कुल] :=0
-
-
तानाशाही [कुल] :=तानाशाही [कुल] + 1
-
-
तानाशाही में सभी कुंजियों के लिए अधिकतम सभी मान लौटाएं
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(l, r): dict={} for i in range(l, r+1): total=0 for j in str(i): total += int(j) if(total not in dict): dict[total] = 0 dict[total] += 1 return max([dict[i] for i in dict]) l = 15 r = 25 print(solve(l, r))
इनपुट
15, 25
आउटपुट
1