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

पायथन में सरणी को बढ़ते अनुक्रमों में विभाजित करें


मान लीजिए हमारे पास nums नामक एक गैर-घटती सरणी है जिसमें धनात्मक पूर्णांक हैं और एक पूर्णांक K है, हमें यह पता लगाना है कि क्या इस सरणी को एक या अधिक असंयुक्त बढ़ते उप-अनुक्रमों में विभाजित किया जा सकता है जिनकी लंबाई कम से कम K हो।

इसलिए, यदि इनपुट इस तरह है nums = [1, 2, 2, 3, 3, 4, 4], K = 3, तो आउटपुट true होगा, क्योंकि इस सरणी को [1, 2, 3, 4] और [2, 3, 4] जैसे दो उप-अनुक्रमों में विभाजित किया जा सकता है जिनकी लंबाई कम से कम 3 है।

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

  • d := एक नया मैप

  • req := 0

  • nums में प्रत्येक i के लिए, करें

    • यदि i, d में नहीं है, तो

      • d[i] := 1

    • अन्यथा,

      • d[i] := d[i] + 1

    • req := req, d[i] का अधिकतम

  • req * K <= nums का आकार होने पर true लौटाएं

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

उदाहरण

class Solution(object):     def canDivideIntoSubsequences(self, nums, K):         d = {}         req = 0         for i in nums:             if i not in d:                 d[i] = 1             else:                 d[i] += 1             req = max(req, d[i])         return req * K <= len(nums) ob = Solution() print(ob.canDivideIntoSubsequences([1, 2, 2, 3, 3, 4, 4], 3))

इनपुट

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

आउटपुट

True
  1. - पायथन में सरणी घुमाएं

    मान लीजिए हमारे पास एक सरणी A है। हमें इसे k चरणों से दाईं ओर घुमाना है। यदि सरणी A = [5, 7, 3, 6, 8, 1, 5, 4] है, और k = 3, तो आउटपुट [1,5,4,5,7,3,6,8] होगा। चरण इस तरह हैं: [4,5,7,3,6,8,1,5] [5,4,5,7,3,6,8,1] [1,5,4,5,7,3,6,8] इसे हल करने के लिए हम इन चरणों का पालन करेंगे। मान लें n सरणी का आक

  1. - पायथन में क्रमबद्ध सरणी मर्ज करें

    मान लीजिए हमारे पास दो क्रमबद्ध सरणी A और B हैं। हमें उन्हें मर्ज करना है और केवल एक क्रमबद्ध सरणी C बनाना है। सूचियों का आकार भिन्न हो सकता है। उदाहरण के लिए, मान लीजिए A = [1,2,4,7] और B = [1,3,4,5,6,8], तो मर्ज की गई सूची C [1,1,2,3,4,4,5,6,7,8] होगी। हल करने के चरण i := 0, j := 0 और end := A क

  1. - पायथन के साथ टेक्स्ट फ़ाइल को लिस्ट या ऐरे में कैसे पढ़ें?

    f = open(my_file.txt, r+) my_file_data = f.read() f.close() उपरोक्त कोड my_file.txt को रीड मोड में खोलता है फिर my_file.txt से पढ़े गए डेटा को my_file_data में स्टोर करता है और फ़ाइल बंद करता है। read फ़ंक्शन एक बार में पूरी फ़ाइल पढ़ता है। आप फ़ाइल को लाइन दर लाइन पढ़ने और इसे लिस्ट में स्टोर करने