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

पायथन में रिकर्सिव इंडेक्सिंग का उपयोग करके तत्वों के सेट में तत्वों की संख्या गिनने का प्रोग्राम


मान लीजिए हमारे पास संख्याओं की एक सूची A है और एक अन्य संख्या k है। हमें संभावित तत्वों का एक नया सेट {A[k], A[A[k]], A[A[A[k]]], ...} बनाना है, जो इंडेक्स आउट होने से पहले रुक जाता है। हमें इस सेट का आकार ढूंढना है, अन्यथा -1 जब कोई साइकिल हो।

उदाहरण के लिए, यदि इनपुट A = [1,2,3,4,5,6,7], k = 1 है, तो आउटपुट 6 होगा क्योंकि A[1] = 2, A[2] = 3, A[3] = 4, A[4] = 5, A[5] = 6, A[6] = 7, इसलिए सेट {2,3,4,5,6,7} है, जिसका आकार 6 है।

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

  • seen := एक नया सेट
  • जब तक k, A के आकार से कम है, तब तक करें:
    • यदि A[k] seen में है, तो -1 वापस करें
    • seen में A[k] डालें
    • k := A[k]
  • seen का आकार वापस करें

उदाहरण

class Solution:
    def solve(self, A, k):
        seen = set()
        while k < len(A):
            if A[k] in seen:
                return -1
            seen.add(A[k])
            k = A[k]
        return len(seen)
ob = Solution()
print(ob.solve([1,2,3,4,5,6,7], 1))

इनपुट

[1,2,3,4,5,6,7], 1

आउटपुट

6
  1. - Python प्रोग्राम - स्ट्रिंग में विशिष्ट सबस्ट्रिंग की संख्या गिनें

    एक स्ट्रिंग s दी गई है, हमें s के विशिष्ट गैर-खाली सबस्ट्रिंग की संख्या खोजनी है। उदाहरण इनपुट: s = abaa आउटपुट: 8 व्याख्या: सबस्ट्रिंग हैं [a, b, ab, ba, aa, aba, baa, abaa]। एल्गोरिदम (ट्राई/प्रीफिक्स ट्री) trie := {} (खाली डिक्शनरी) n := len(s) i 0 से n-1 तक: curr := trie j i से n-1

  1. पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की सूची है। हमारे पास x नामक एक और संख्या भी है। हमें nums से उन सभी नंबरों को फ़िल्टर करके ढूंढना है जो x से कम हैं। पायथन में filter() मेथड होता है जो फंक्शन को आर्गुमेंट के रूप में लेता है और इस फंक्शन का उपयोग करके फ़िल्टर करता है। तो, यदि इनपुट nums = [1,5

  1. पायथन प्रोग्राम: दी गई रेंज में विषम गुणनखंड वाले तत्वों की संख्या पायथन प्रोग्राम: दी गई रेंज में विषम गुणनखंड वाले तत्वों की संख्या

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक रेंज दी गई है, हमें उस रेंज में विषम गुणनखंडों की संख्या ज्ञात करनी है। दृष्टिकोण हम सभी जानते हैं कि एक रेंज में सभी पूर्ण वर्गों के विषम संख्या में गुणनखंड होते हैं। इसलिए यहां हम पूर्ण वर्गों की संख्या की गणना करेंगे। चू