পূর্ণসংখ্যা সংখ্যাগুলির একটি তালিকা দেওয়া হলে, আপনি নিম্নলিখিত ক্রিয়াকলাপটি সম্পাদন করতে পারেন:সংখ্যার মধ্যে বৃহত্তম সংখ্যাটি বেছে নিন এবং এটিকে দ্বিতীয় বৃহত্তম সংখ্যায় পরিণত করুন৷ তালিকায় সমস্ত পূর্ণসংখ্যাকে একই করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক ক্রিয়াকলাপ ফেরত দিন৷
সুতরাং, যদি ইনপুটটি nums =[5, 9, 2] এর মত হয়, তাহলে আউটপুট হবে 3, যেমন প্রথমে 9 বাছাই করুন, তারপরে এটি 5 করুন, সোয়ারে হল [5, 5, 2], তারপর 5 বেছে নিন এবং 2 করুন , [5, 2, 2], আবার 5 বেছে নিন এবং 2, [2, 2, 2] এ রূপান্তর করুন।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব
-
vals :=সংখ্যায় অনন্য অক্ষরের তালিকা সাজান
-
vtoi :=একটি মানচিত্র v সকল মানের জন্য 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