Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में एक संश्लेषित स्ट्रिंग में एक विशेष सूचकांक पर पत्र का पता लगाने का कार्यक्रम

मान लीजिए, हमें एक स्ट्रिंग 'input_str' दी गई है। अब, हमें दिए गए स्ट्रिंग से हर संभव सबस्ट्रिंग को निर्धारित करने के लिए कहा जाता है, फिर सभी सबस्ट्रिंग को एक के बाद एक लेक्सिकल क्रम में दूसरी स्ट्रिंग में संयोजित करें। हमें एक पूर्णांक मान k भी दिया जाता है। हमारा काम अनुक्रमित स्ट्रिंग से इंडेक्स k पर अक्षर वापस करना है।

इसलिए, यदि इनपुट input_str ='pqrs', k =6 जैसा है, तो आउटपुट p

होगा।

दिए गए स्ट्रिंग से लेक्सिकल क्रम में सबस्ट्रिंग p, pq, pqr, pqrs, q, qr, qrs, r, rs, s हैं।

यदि हम स्ट्रिंग्स को जोड़ते हैं, तो यह ppqpqrpqrsqqrqrsrrss बन जाता है। स्थिति 6 पर, अक्षर 'p' है। (अनुक्रमण 0 से शुरू होता है)।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • stk_list :=एक नई सूची जिसमें एक टपल है जिसमें एक खाली स्ट्रिंग है और input_str से सभी अक्षरों की एक सूची है
  • जबकि stk_list खाली नहीं है, करें
    • पूर्व:=stk_list से अंतिम तत्व हटाएं
    • अस्थायी:=stk_list से अंतिम तत्व हटाएं
    • यदि k <पूर्व का आकार है, तो
      • वापसी से पहले[k]
    • k :=k - पूर्व का आकार
    • input_sorted :=एक नई सूची जिसमें टुपल्स होते हैं जिनमें input_str के अक्षर और input_str में उनकी स्थिति होती है
    • टुपल्स के दूसरे मान के आधार पर इनपुट_सॉर्ट की गई सूची को अवरोही क्रम में क्रमित करें
    • मैं :=0
    • जबकि मैं
    • वैल:=input_sorted[i, 0]
    • temp1 :=[input_sorted[i, 1]]
    • j :=i + 1
    • जबकि j
    • temp1 के अंत में input_sorted[j, 1] डालें
    • j :=j + 1
  • stk_list के अंत में (pre+val, temp1) डालें
  • i :=j
  • वापसी शून्य
  • उदाहरण

    आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

    def solve(input_str, k):
       stk_list = [("",list(range(len(input_str))))]
       while stk_list:
          pre, temp = stk_list.pop()
          if k < len(pre):
             return pre[k]
          k -= len(pre)
          input_sorted = sorted([(input_str[i],i+1) for i in temp if i < len(input_str)], reverse=True)
          i = 0
          while i < len(input_sorted):
             val = input_sorted[i][0]
             temp1 = [input_sorted[i][1]]
             j = i + 1
             while j < len(input_sorted) and input_sorted[j][0]== val:
                temp1.append(input_sorted[j][1])
                j += 1
             stk_list.append((pre+val, temp1))
             i = j
       return None
    
    print(solve('pqrs', 6))

    इनपुट

    'pqrs', 6
    

    आउटपुट

    p

    1. यह पता लगाने के लिए कार्यक्रम कि क्या पायथन में सभी के द्वारा ग्राफ़ को ट्रैवर्स किया जा सकता है

      मान लीजिए, हमें एक ग्राफ दिया गया है जिसमें n शीर्षों की संख्या 0 से n - 1 है। ग्राफ अप्रत्यक्ष है और प्रत्येक किनारे का वजन है। ग्राफ में तीन प्रकार के भार हो सकते हैं और प्रत्येक भार एक विशेष कार्य को दर्शाता है। दो लोग हैं जो ग्राफ को पार कर सकते हैं, अर्थात् जैक और केसी। जैक ग्राफ को पार कर सकता

    1. पायथन में अध्ययन करने का प्रभावी तरीका खोजने का कार्यक्रम

      मान लीजिए, हमारे पास तीन सूचियाँ हैं जिनकी लंबाई समान है। ये समय सीमा, क्रेडिट और अवधि हैं। वे पाठ्यक्रम असाइनमेंट का प्रतिनिधित्व कर रहे हैं। i−th असाइनमेंट की समय सीमा के लिए [i] इसकी समय सीमा दिखाता है, क्रेडिट [i] अपना क्रेडिट दिखाता है, और अवधि [i] असाइनमेंट पूरा करने में लगने वाले दिनों की संख

    1. पायथन में दिए गए स्ट्रिंग में पहले आवर्ती चरित्र की अनुक्रमणिका खोजने का कार्यक्रम

      मान लीजिए कि हमारे पास एक स्ट्रिंग है, हमें इसमें पहले आवर्ती चरित्र का सूचकांक खोजना होगा। अगर हमें कोई आवर्ती वर्ण नहीं मिल रहा है, तो -1 लौटाएं। इसलिए, यदि इनपुट एबकेड जैसा है, तो आउटपुट 3 होगा, क्योंकि ए फिर से इंडेक्स 3 पर मौजूद है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - नक्शा वर्ण