কম্পিউটার

পাইথনে strStr() প্রয়োগ করুন


ধরুন আমাদের দুটি স্ট্রিং আছে str এবং sub_str। আমাদের str এ sub_str এর প্রথম উপস্থিতি খুঁজে বের করতে হবে। তাই যদি স্ট্রিং স্ট্রিং হয় “helloworld”, এবং সাবস্ট্রিং হয় “lo”, তাহলে ফলাফল হবে 3।

এটি সি-তে strstr() ফাংশন ব্যবহার করে করা যেতে পারে। আমাদের আরেকটি ফাংশন ডিজাইন করতে হবে যা C-তে strstr() এর মতো।

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

  • i :=0, j :=0, m :=sub_str এর দৈর্ঘ্য এবং n :=str এর দৈর্ঘ্য
  • যদি m =0 হয়, তাহলে 0 ফেরত দিন
  • যখন i
  • যদি str[i] =sub_str[j], তাহলে
    • temp :=j
    • যখন j
    • i এবং j 1 দ্বারা বাড়ান
  • যদি j =m হয়, তাহলে temp ফেরত দিন
  • i :=temp + 1
  • j :=0
  • অন্যথা i 1 দ্বারা বাড়ান
  • রিটার্ন -1
  • আসুন আরও ভালভাবে বোঝার জন্য বাস্তবায়ন দেখি

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

    class Solution(object):
       def strStr(self, haystack, needle):
          """
          :type haystack: str
          :type needle: str
          :rtype: int
          """
          i = 0
          j = 0
          m = len(needle)
          n = len(haystack)
          if m ==0:
             return 0
          while i<n and n-i+1>=m:
             if haystack[i] == needle[j]:
                temp = i
                while j<m and i<n and needle[j]==haystack[i]:
                   i+=1
                   j+=1
                if j == m:
                   return temp
                i= temp+1
                j = 0
             else:
                i+=1
          return -1
    haystack = "helloworld"
    needle = "lo"
    ob1 = Solution()
    print(ob1.strStr(haystack, needle))

    ইনপুট

    haystack = "helloworld"
    needle = "lo"

    আউটপুট

    3

    1. পাইথনে গড় শিফট অ্যালগরিদম প্রয়োগ করুন

    2. issuperset() পাইথনে

    3. পাইথনে IsNumber() ফাংশন প্রয়োগ করুন

    4. পাইথনে লগ ইন করা হচ্ছে