কম্পিউটার

পাইথনে রিকার্সিভ ইনডেক্সিং সহ উপাদানগুলির একটি সেটে উপস্থিত উপাদানগুলির সংখ্যা গণনা করার প্রোগ্রাম


ধরুন আমাদের কাছে A এবং আরেকটি সংখ্যা k নামক সংখ্যার তালিকা আছে, আমাদের সম্ভাব্য উপাদানগুলির একটি নতুন সেট তৈরি করতে হবে {A[k], A[A[k]], A[A[A[k]]], .. . } সূচকের বাইরে হওয়ার আগেই থামানো। আমাদের এই সেটের আকার খুঁজে বের করতে হবে, অন্যথায় -1 যখন একটি চক্র থাকে।

সুতরাং, যদি ইনপুটটি A =[1,2,3,4,5,6,7], k =1 এর মত হয়, তাহলে আউটপুট 6 হবে A[1] =2, A[2] =3, A[3] =4, A[4] =5, A[5] =6, A[6] =7, সুতরাং সেটটি হল {2,3,4,5,6,7}, সেটের আকার হল ৬.

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

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

    উদাহরণ

    class Solution:
       def solve(self, A, k):
          seen = set()
          while k < len(A):
             if A[k] in seen:
                return -1
             seen.add(A[k])
             k = A[k]
          return len(seen)
    ob = Solution()
    print(ob.solve([1,2,3,4,5,6,7], 1))

    ইনপুট

    [1,2,3,4,5,6,7], 1

    আউটপুট

    6

    1. পাইথনে সম্ভাব্য নম্র ম্যাট্রিক্সের সংখ্যা গণনা করার প্রোগ্রাম

    2. পাইথনে s-এ স্বতন্ত্র সাবস্ট্রিংয়ের সংখ্যা গণনা করার জন্য প্রোগ্রাম

    3. পাইথনে n নোড সহ BST সংখ্যা গণনা করার প্রোগ্রাম

    4. প্রদত্ত পরিসরে বিজোড় ফ্যাক্টর সহ উপাদানের সংখ্যার জন্য পাইথন প্রোগ্রাম