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

पायथन में लिस्ट को सख्ती से बढ़ती सबलिस्ट में विभाजित करने का प्रोग्राम (आकार k से बड़ा)


मान लीजिए हमारे पास nums नामक संख्याओं की एक लिस्ट है, और एक मान k है, हमें चेक करना है कि क्या लिस्ट को सबलिस्ट में विभाजित करना संभव है जैसे कि प्रत्येक सबलिस्ट की लंबाई ≥ k हो और वह सख्ती से बढ़ती हो। लिस्ट को सन्निकट रूप से विभाजित करने की आवश्यकता नहीं है।

उदाहरण के लिए, यदि इनपुट nums = [6, 7, 5, 10, 13], k = 2 है, तो आउटपुट True होगा, क्योंकि विभाजन [5, 6] और [7, 10, 13] है।

समाधान दृष्टिकोण

इस समस्या को हल करने के लिए हम आवृत्ति गिनती का उपयोग करेंगे:

  • c := nums के तत्वों और उनकी गिनती वाला मैप
  • max_count := c की सभी आवृत्तियों का अधिकतम
  • यदि max_count * k <= nums का आकार है तो True लौटाएं, अन्यथा False

पायथन कार्यान्वयन

from collections import Counter

class Solution:
    def solve(self, nums, k):
        c = Counter(nums)
        max_count = max([v for k, v in c.items()])
        return max_count * k <= len(nums)

ob = Solution()
nums = [6, 7, 5, 10, 13]
k = 2
print(ob.solve(nums, k))

इनपुट

[6, 7, 5, 10, 13], 2

आउटपुट

False
  1. - पायथन में जांचें कि सूची सख्ती से बढ़ रही है या सख्ती से घट रही है

    मान लीजिए हमारे पास संख्याओं की एक सूची है; हमें जांचना है कि क्या सूची सख्ती से बढ़ रही है या सख्ती से घट रही है। उदाहरण के लिए, यदि इनपुट है nums = [10, 12, 23, 34, 55], तो आउटपुट होगा True, क्योंकि सभी तत्व अलग हैं और प्रत्येक तत्व पिछले से बड़ा है, इसलिए यह सख्ती से बढ़ रहा है। हल करने के चरण

  1. - पायथन में स्ट्रिंग को N आकार के टुकड़ों में विभाजित करना

    समस्या विवरण एक स्ट्रिंग s और पूर्णांक n दिया गया है, हमें s को n-आकार के टुकड़ों में विभाजित करना है। उदाहरण इनपुट: s = abcdefghijklmn, n = 4 आउटपुट: [abcd, efgh, ijkl, mn] एल्गोरिदम i = 0, खाली सूची f = [] जब तक i < len(s): f.append(s[i:i+n]) i += n f वापस करें पायथन कार्यान्वयन cl

  1. - सम और विषम तत्वों को दो अलग-अलग सूचियों में विभाजित करने का पायथन प्रोग्राम

    समस्या विवरण इस प्रोग्राम में हम एक यूजर इनपुट सूची बनाते हैं और तत्व सम और विषम का मिश्रण होते हैं। हमारा कार्य इन सूची को दो सूचियों में विभाजित करना है। एक में विषम संख्या के तत्व और दूसरी में सम संख्या के तत्व। उदाहरण इनपुट: [1, 2, 3, 4, 5, 9, 8, 6] आउटपुट सम सूची: [2, 4, 8, 6] विषम सूची: [1, 3