पूर्णांक संख्याओं की एक सूची को देखते हुए, आप निम्नलिखित कार्य कर सकते हैं:अंकों में सबसे बड़ी संख्या चुनें और इसे दूसरी सबसे बड़ी संख्या में बदलें। सूची में सभी पूर्णांकों को समान बनाने के लिए आवश्यक न्यूनतम संक्रियाएँ लौटाएँ।
इसलिए, यदि इनपुट संख्या =[5, 9, 2] की तरह है, तो आउटपुट 3 होगा, जैसा कि पहले 9 चुनें, फिर इसे 5 बनाएं, सोअरे [5, 5, 2] है, फिर 5 चुनें और 2 बनाएं , [5, 2, 2], फिर से 5 चुनें और 2, [2, 2, 2] में बदलें।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे
-
vals :=अद्वितीय वर्णों की सूची को अंकों में क्रमित करें
-
vtoi :=सभी मानों के लिए एक मानचित्र v में कुंजी के रूप में और उनकी अनुक्रमणिका i मान के रूप में
-
सभी v के लिए vtoi[v] का वापसी योग
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
उदाहरण
class Solution: def solve(self, nums): vals = sorted(set(nums)) vtoi = {v: i for i, v in enumerate(vals)} return sum(vtoi[v] for v in nums) ob = Solution() nums = [5, 9, 2] print(ob.solve(nums))
इनपुट
[5, 9, 2]
आउटपुट
3