কম্পিউটার টিউটোরিয়াল

একটি সাবলিস্ট খুঁজতে প্রোগ্রাম যেখানে পাইথনে প্রথম এবং শেষ মান একই


ধরুন আমাদের কাছে nums নামে একটি সংখ্যার তালিকা আছে, আমাদের সাবলিস্টের সংখ্যা খুঁজে বের করতে হবে যেখানে প্রথম উপাদান এবং শেষ উপাদান একই।

সুতরাং, যদি ইনপুটটি nums =[10, 15, 13, 10] এর মত হয়, তাহলে আউটপুট হবে 5, যেহেতু একই প্রথম এবং শেষ উপাদান সহ সাবলিস্টগুলি হল:[10], [15], [13], [ 10], [10, 15, 13, 10]।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • num_sublist :=সংখ্যার আকার

  • d :=একটি খালি মানচিত্র

  • প্রতিটি n সংখ্যার জন্য, করুন

    • d[n] :=d[n] + 1

  • প্রতিটি সংখ্যার জন্য k এবং d-এ উপাদানগুলির অনুরূপ ফ্রিকোয়েন্সি v, করুন

    • যদি v 1 এর মত না হয়, তাহলে

      • num_sublists :=num_sublist +((v-1) *(v) /2)

  • num_sublist ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

সংগ্রহ থেকে ইম্পোর্ট ডিফল্টডিক্টক্লাস সমাধান:def solve(self, nums):num_sublists =len(nums) d =defaultdict(int) n-এর জন্য n-এর জন্য:d[n] +=1 k,v-এর জন্য d.items( ):if v !=1:num_sublists +=(v-1)*(v)//2 num_sublistsob =Solution()nums =[10, 15, 13, 10]print(ob.solve(nums)) 

ইনপুট

<প্রে>[10, 15, 13, 10]

আউটপুট

5

  1. পাইথনে প্রথম থেকে শেষ নোড পর্যন্ত সীমাবদ্ধ পথের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে বৃহত্তম K সাবলিস্টের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথনে বৈশ্বিক এবং স্থানীয় ইনভার্সশনের সংখ্যা একই বা না পরীক্ষা করার প্রোগ্রাম

  4. দুটি গাছ পরীক্ষা করার প্রোগ্রামটি পাইথনে তাদের গঠন এবং মানগুলির উপর ভিত্তি করে ঠিক একই রকম