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

यह जांचने के लिए कार्यक्रम कि क्या हम सूची को लगातार बढ़ते उप-सूचियों में विभाजित कर सकते हैं या नहीं, पायथन में

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और इसे गैर-घटते क्रम में क्रमबद्ध किया जाता है, हमें यह जांचना होगा कि क्या इसे किसी भी संख्या में बाद में विभाजित किया जा सकता है जैसे कि प्रत्येक बाद की न्यूनतम लंबाई 3 हो और जो लगातार बढ़ रही हो।

इसलिए, यदि इनपुट संख्या =[2, 3, 4, 4, 5, 6, 7] की तरह है, तो आउटपुट सही होगा, क्योंकि हम सूची को [2, 3, 4] और [4] में विभाजित कर सकते हैं। 5, 6, 7]।

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

  • गणना :=एक नक्शा जिसमें अंकों और उसकी गणना के तत्व शामिल हैं
  • शुरू होता है:=एक नई सूची
  • समाप्त :=एक नई सूची
  • गणना की वस्तुओं में प्रत्येक x के लिए क्रमबद्ध क्रम में करें
    • अगर गिनती [x]> गिनती [x - 1], तो
      • l :=आकार की सूची (गिनती[x] - गिनती[x - 1]) और x से भरें
      • प्रारंभ में l डालें
    • अगर गिनती [x]> गिनती [x + 1], तो
      • l :=आकार की सूची (गिनती[x] - गिनती[x + 1]) और x से भरें
      • प्रारंभ में l डालें
  • जब सभी (प्रारंभ, अंत) जोड़ी संतुष्ट होती है तो सही लौटें (प्रारंभ + 2 <=अंत), अन्यथा झूठी वापसी करें

उदाहरण (पायथन)

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

from collections import Counter
class Solution:
   def solve(self, nums):
      count = Counter(nums)
      starts = []
      ends = []
      for x in sorted(count):
         if count[x] > count[x - 1]:
            starts.extend([x] * (count[x] - count[x - 1]))
         if count[x] > count[x + 1]:
            ends.extend([x] * (count[x] - count[x + 1]))
      return all(s + 2 <= e for s, e in zip(starts, ends))
ob = Solution()
nums = [2, 3, 4, 4, 5, 6, 7]
print(ob.solve(nums))

इनपुट

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

आउटपुट

True

  1. यह जांचने के लिए प्रोग्राम कि ब्लॉक की दी गई सूची x =y लाइन पर सममित है या नहीं, पायथन में

    मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है। और यह वर्गाकार ब्लॉकों की ऊंचाई का प्रतिनिधित्व कर रहा है, हमें यह जांचना होगा कि आकृति y =x रेखा पर सममित है या नहीं। इसलिए, यदि इनपुट nums =[7, 5, 3, 2, 2, 1, 1] जैसा है, तो आउटपुट सही होगा इसे हल करने के लिए, हम इन चरणों का पालन

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

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

  1. एक सूची खाली है या नहीं, यह जांचने के लिए पायथन प्रोग्राम?

    एक खाली सूची दी। हमारा काम मौसम की जांच करना है कि यह सूची खाली है या नहीं। यहाँ हम जाँच करते हैं जाँच का एक निहित तरीका है। एल्गोरिदम Step 1: We take an empty list. Step 2: then check if list is empty then return 1 otherwise 0. उदाहरण कोड # Python code to check for empty list def checklist(A):