কম্পিউটার

Python এ স্থানান্তর


ধরুন আমাদের স্বতন্ত্র পূর্ণসংখ্যার একটি সংগ্রহ আছে; আমাদের সম্ভাব্য সকল স্থানান্তর খুঁজে বের করতে হবে। সুতরাং যদি অ্যারেটি [2,1,3] এর মত হয়, তাহলে ফলাফল হবে [[1,2,3], [1,3,2], [2,1,3], [2,3,1] ], [৩,১,২], [৩,২,১]]

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

  • আমরা পুনরাবৃত্ত পদ্ধতি ব্যবহার করব, এটি তালিকা তৈরি করবে, শুরু করবে, curr এবং রেস করবে
  • যদি শুরু হয়> তালিকার দৈর্ঘ্য – 1, তারপর রেস-এ curr যোগ করুন এবং ফিরে আসুন
  • আমি পরিসীমার জন্য প্রদত্ত তালিকার দৈর্ঘ্য থেকে শুরু করি - 1
    • সূচী শুরুতে উপস্থিত তালিকার উপাদানগুলি অদলবদল করুন এবং (start + (i – start))
    • ক্রমক্রম(তালিকা, শুরু + 1, curr + [তালিকা[শুরু]], রেস)
    • সূচী শুরুতে উপস্থিত তালিকার উপাদানগুলি অদলবদল করুন এবং (start + (i – start))
    • প্রাথমিকভাবে পারমুটেশনকে কল করুন(arr, 0, [], res)

উদাহরণ(পাইথন)

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

শ্রেণির সমাধান(অবজেক্ট):def permute(self, nums):result =[] self.permute_util(nums,0,[],result) রিটার্ন ফলাফল def permute_util(self,given_list,start,curr,result):if start> len(given_list)-1:#print(curr) result.append(curr) রেঞ্জে i এর জন্য রিটার্ন(start,len(given_list)):self.swap(given_list,start,start+(i-start)) self.permute_util(given_list,start+1,curr+[given_list[start]],ফলাফল) #print(given_list) self.swap(given_list, start, start + (i - start)) def swap(self,nums,index1, index2):temp =nums[index1] nums[index1] =nums[index2] nums[index2] =tempob1 =সমাধান()print(ob1.permute([1,2,3,4]))

ইনপুট

[1,2,3,4]

আউটপুট

<পূর্ব>[[1,2,3,4],[1,2,4,3],[1,3,2,4],[1,3,4,2],[1,4,3 ,2],[1,4,2,3],[2,1,3,4],[2,1,4,3],[2,3,1,4],[2,3,4 ,1],[2,4,3,1],[2,4,1,3],[3,2,1,4],[3,2,4,1],[3,1,2 ,4],[3,1,4,2],[3,4,1,2],[3,4,2,1],[4,2,3,1],[4,2,1 ,3],[4,3,2,1],[4,3,1,2],[4,1,3,2],[4,1,2,3]]
  1. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর সমস্ত স্থানান্তর প্রিন্ট করতে

  2. issuperset() পাইথনে

  3. পাইথনে কুইন

  4. পাইথনে একটি তালিকার সমস্ত স্থানান্তর কীভাবে তৈরি করবেন?