কম্পিউটার

কিভাবে C# ব্যবহার করে ব্যাকট্র্যাকিং করে স্ট্রিংয়ের সমস্ত স্থানান্তর খুঁজে পাবেন?


প্রথম অবস্থানে অক্ষরটি খুঁজুন এবং প্রথম অক্ষরের সাথে বাকি অক্ষর অদলবদল করুন। ABC এর মতো, প্রথম পুনরাবৃত্তিতে তিনটি স্ট্রিং গঠিত হয়:ABC, BAC এবং CBA যথাক্রমে A, B এবং C এর সাথে অদলবদল করে। বাকি অক্ষরের জন্য ধাপ পুনরাবৃত্তি করুন যেমন দ্বিতীয় অক্ষর B ঠিক করা ইত্যাদি। আগের অবস্থানে ফিরে যেতে আবার Nowswap. ABC থেকে, আমরা আবার B ঠিক করে ABC গঠন করেছি, এবং আমরা আগের অবস্থানে ফিরে যাই এবং C এর সাথে B অদলবদল করি। তাই, এখন আমরা ABC এবং ACB পেয়েছি।

উদাহরণ

using System;
namespace ConsoleApplication{
   public class BackTracking{
      public void StringPermutation(string word, int start, int end){
         if (start == end){
            Console.WriteLine(word);
         }
         else{
            for (int i = start; i <= end; i++){
               Swap(ref word, start, i);
               StringPermutation(word, start + 1, end);
               Swap(ref word, start, i);
            }
         }
      }
      private void Swap(ref string word, int start, int end){
         char[] arr = word.ToCharArray();
         char temp = arr[start];
         arr[start] = arr[end];
         arr[end] = temp;
         word = new string(arr);
      }
   }
   class Program{
      static void Main(string[] args){
         BackTracking b = new BackTracking();
         b.StringPermutation("ABC", 0, 2);
      }
   }
}

আউটপুট

ABC
ACB
BAC
BCA
CBA
CAB

  1. কিভাবে C# ব্যবহার করে স্ট্রিং এর দৈর্ঘ্য গণনা করবেন?

  2. ডিকশনারি ব্যবহার করে পাইথনের একটি স্ট্রিং-এ প্রথম পুনরাবৃত্তি করা শব্দ খুঁজুন

  3. Python Regex ব্যবহার করে একটি প্রদত্ত স্ট্রিং-এ “1(0+)1”-এর সমস্ত প্যাটার্ন খুঁজুন

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