কম্পিউটার

পাইথনে পরিবর্তনের পর স্ট্রিংয়ের চূড়ান্ত অবস্থা


ধরুন আমাদের একটি স্ট্রিং S আছে। দৈর্ঘ্য হল n। এই n বাক্সগুলি একে অপরের সংলগ্ন, i অবস্থানে একটি অক্ষর R প্রতিনিধিত্ব করে যে i-th বক্সটি ডান দিকে ঠেলে দেওয়া হচ্ছে। একইভাবে, i অবস্থানে L প্রতিনিধিত্ব করে যে i-th বক্সটি বাম দিকে ঠেলে দেওয়া হচ্ছে, একটি বিন্দু '।' একটি খালি স্থান নির্দেশ করে। প্রাথমিক কনফিগারেশন থেকে শুরু করে, প্রতিবার ইউনিটে, একটি বাক্স ডানদিকে ঠেলে পরবর্তী বাক্সটিকে ডানদিকে ঠেলে দিতে সক্ষম হয়, একই ক্রিয়া বাম দিকের জন্যও প্রয়োগ করা যেতে পারে। আমাদের সব বাক্সের চূড়ান্ত অবস্থান খুঁজে বের করতে হবে যখন আর কোনো নড়াচড়া সম্ভব নয়।

সুতরাং, যদি ইনপুট R..R...L. এর মত হয়, তাহলে আউটপুট RRRRR.LL হবে।

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

  • N :=স্ট্রিংয়ের আকার
  • আন্দোলন :=N আকারের অ্যারে, 0s দিয়ে পূরণ করুন
  • m :=0
  • আমি 0 থেকে N রেঞ্জের জন্য, কর
    • যদি স্ট্রিং[i] 'R' এর মত হয়, তাহলে
      • m :=N
    • অন্যথায় যখন স্ট্রিং[i] 'L' এর মত হয়, তাহলে
      • m :=0
    • অন্যথায়,
      • m :=সর্বাধিক m - 1, 0
    • আন্দোলন[i] :=আন্দোলন[i] + m
  • m :=0
  • এর জন্য N - 1 থেকে -1 রেঞ্জের মধ্যে, 1 দ্বারা হ্রাস করুন, করুন
    • যদি স্ট্রিং[i] 'L' এর মত হয়, তাহলে
      • m :=N
    • অন্যথায় যখন স্ট্রিং[i] 'R' এর মত হয়, তাহলে
      • m :=0
    • অন্যথায়,
      • m :=সর্বাধিক m - 1, 0
    • আন্দোলন[i] :=আন্দোলন[i] - m
  • রিটার্ন করুন ডট যোগ করে একটি স্ট্রিং তৈরি করুন যদি m 0 হয় অন্যথায় 'R' যখন m> 0 হয়, অন্যথায় m গতিশীল প্রতিটি উপাদানের জন্য 'L'।

উদাহরণ কোড

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

def get_final_pos(string):N =len(string) movement =[0] * N m =0 in range(0, N):যদি স্ট্রিং[i] =='R':m =N elif স্ট্রিং[i] =='L':m =0 else:m =max(m - 1, 0) মুভমেন্ট[i] +=m m =0 i এর রেঞ্জে (N - 1, -1, -1):if string[i] =='L':m =N elif string[i] =='R':m =0 else:m =max(m - 1, 0) move[i] -=mreturn ""। যোগ দিন 

ইনপুট

'R..R...L.'

আউটপুট

RRRRR.LL।

  1. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. কিভাবে আমরা পাইথনে একটি অপরিবর্তনীয় স্ট্রিং এর আইডি পরিবর্তন করতে পারি?

  3. কিভাবে পাইথনে একটি স্ট্রিং দৈর্ঘ্য পেতে?

  4. পাইথন স্ট্রিংস - বেসিক স্ট্রিং অপারেশনের ওভারভিউ