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

पायथन में जांचें कि सरणी के तत्वों को दी गई शर्त को पूरा करने के लिए व्यवस्थित किया जा सकता है या नहीं


मान लीजिए हमारे पास nums नामक एक सरणी है। हमें जांचना है कि क्या nums के तत्वों को इस तरह पुनर्व्यवस्थित करना संभव है कि यह शर्त का पालन करे:

इसलिए, यदि इनपुट nums = [8, -4, 4, -8] है, तो आउटपुट True होगा क्योंकि यदि हम सरणी को [-4, -8, 4, 8] की तरह व्यवस्थित करते हैं, तो i = 0 के लिए, nums[2*0 + 1] = 2 * (-4) = -8, i = 1 के लिए, nums[2*1 + 1] = 2 * 4 = 8

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

  • freq := nums के तत्वों और उनकी आवृत्तियों वाला मैप
  • nums में प्रत्येक आइटम के लिए उनके निरपेक्ष मानों में क्रमबद्ध, करें
    • यदि freq[item] 0 है, तो
      • अगले पुनरावृत्ति के लिए जाएं
    • यदि freq[2 * item] 0 है, तो
      • False लौटाएं
    • freq[item] := freq[item] - 1
    • freq[2 * item] := freq[2 * item] - 1
  • True लौटाएं

उदाहरण

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

from collections import defaultdict
def solve(nums):
    freq = defaultdict(int)
    for item in nums:
        freq[item] += 1
    for item in sorted(nums, key=abs):
        if freq[item] == 0:
            continue
        if freq[2 * item] == 0:
            return False
        freq[item] -= 1
        freq[2 * item] -= 1
    return True
nums = [8, -4, 4, -8]
print(solve(nums))

इनपुट

[8, -4, 4, -8]

आउटपुट

True

  1. - पायथन में दी गई सूची में प्रत्येक तत्व के दाईं ओर छोटे तत्वों की संख्या लौटाने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हम एक नई सूची बनाएंगे जहां नई सूची में प्रत्येक तत्व मूल सूची में उस तत्व के दाईं ओर छोटे तत्वों की संख्या होगी। उदाहरण के लिए, यदि इनपुट nums = [4, 5, 9, 7, 2] है, तो आउटपुट [1, 1, 2, 1, 0] होगा, क्योंकि 4 के दाईं ओर 1 छोटा तत्व है, 5 के दाईं ओर

  1. - पायथन में जांचें कि दी गई स्ट्रिंग सूची के स्ट्रिंग तत्वों को जोड़कर बनाई जा सकती है या नहीं

    हमें कभी-कभी यह जांचने की आवश्यकता होती है कि कोई आवश्यक स्ट्रिंग सूची में मौजूद कई स्ट्रिंग्स से बनाई जा सकती है या नहीं। इसका क्रम भी मायने नहीं रखना चाहिए जिसमें स्ट्रिंग्स सूची में मौजूद हैं जिन्हें जोड़कर आवश्यक स्ट्रिंग प्राप्त की जानी है। permutations के साथ itertools से हम permutations फंक्

  1. - पायथन प्रोग्राम: जांचें कि दिया गया ऐरे मोनोटोनिक है या नहीं

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक ऐरे इनपुट Arr दिया गया है जिसमें n इंटीजर्स हैं। हमें जांचना होगा कि इनपुट ऐरे मोनोटोनिक प्रकृति का है या नहीं। एक ऐरे को मोनोटोनिक प्रकृति का कहा जाता है यदि यह लगातार बढ़ रहा है