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

पायथन में ऐसी संख्याओं की सूची खोजने का प्रोग्राम जहां प्रत्येक K-आकार की विंडो में अद्वितीय तत्व हों


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची और एक संख्या k है। हमें आकार k की प्रत्येक विंडो में विशिष्ट संख्याओं की गिनती की सूची ढूंढनी है।

उदाहरण के लिए, यदि इनपुट nums = [2, 2, 3, 3, 4], k = 2 है, तो आउटपुट [1, 2, 1, 2] होगा, क्योंकि विंडोज हैं [2,2], [2,3], [3,3], और [3,4]।

इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे (स्लाइडिंग विंडो + हैश मैप):

  • c := Counter() (पहले k तत्वों की आवृत्ति)।

  • ans := []।

  • i को k से len(nums)-1 तक लूप में चलाएं:

    • ans.append(len(c))।

    • c[nums[i]] += 1।

    • c[nums[i-k]] -= 1।

    • यदि c[nums[i-k]] == 0, तो del c[nums[i-k]]।

  • ans.append(len(c)) (अंतिम विंडो के लिए)।

  • ans लौटाएं।

उदाहरण

from collections import Counter class Solution:    def solve(self, nums, k):       c = Counter()       for i in range(k):          c[nums[i]] += 1       ans = []       for i in range(k, len(nums)):          ans.append(len(c))          c[nums[i]] += 1          c[nums[i - k]] -= 1          if c[nums[i - k]] == 0:             del c[nums[i - k]]       ans.append(len(c))       return ans ob = Solution() nums = [2, 2, 3, 3, 4] print(ob.solve(nums, 2))

इनपुट

[2, 2, 3, 3, 4], 2

आउटपुट

[1, 2, 1, 2]

  1. - Python प्रोग्राम में सूची के तत्वों का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची पुनरावृत्ति दी गई है, हमें सूची का योग निकालने की आवश्यकता है। यहां हम नीचे चर्चा किए गए 3 दृष्टिकोणों पर चर्चा करेंगे For Loop का उपयोग करना उदाहरण # sum total = 0 # एक सूची बनाना list1 = [11, 22, 33,

  1. पायथन प्रोग्राम: लिस्ट में एलिमेंट्स का योग ढूंढें पायथन प्रोग्राम: लिस्ट में एलिमेंट्स का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक लिस्ट दिए जाने पर, हमें दी गई लिस्ट का योग निकालने की आवश्यकता है। यहां हमारे पास दो दृष्टिकोण हैं: बिल्ट-इन फंक्शन का उपयोग करना और ब्रूट-फोर्स दृष्टिकोण का उपयोग

  1. - पायथन प्रोग्राम सूची से N सबसे बड़े तत्व खोजने के लिए

    एक पूर्णांक सूची दी गई है, हमारा कार्य सूची में N सबसे बड़े तत्व ढूंढना है। उदाहरण इनपुट : [40, 5, 10, 20, 9] N = 2 आउटपुट: [40, 20] एल्गोरिदम चरण 1: एक पूर्णांक सूची और सबसे बड़ी संख्या की संख्या इनपुट करें। चरण 2: पहले सूची को N बार पार करें। चरण 3: प्रत्येक पारगमन में सबसे बड़ा मान ढूंढें और इसे