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

पायथन में जांचें कि कम से कम आधी सरणी कुछ ऑपरेशन करके शून्य तक कम हो सकती है या नहीं


मान लीजिए, हमें आकार n की एक सूची प्रदान की जाती है जिसमें धनात्मक पूर्णांक होते हैं और एक अन्य धनात्मक पूर्णांक m होता है। मान लीजिए, हम वर्तमान में एक लूप के अंदर हैं और प्रत्येक पुनरावृत्ति में, हम सरणी में कुछ तत्वों के मान को 1 से घटाते हैं और शेष तत्वों के मान को m से बढ़ाते हैं। हमें यह पता लगाना है कि क्या कुछ पुनरावृत्तियों के बाद सूची के आधे या अधिक तत्व शून्य में बदल जाते हैं। यदि संभव हो तो हम True लौटाते हैं, और यदि नहीं तो False।

इसलिए, यदि इनपुट input_list = [10, 18, 35, 5, 12], m = 4 है, तो आउटपुट True होगा।

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

  • frequency_list := आकार m+1 की एक नई सूची जिसे 0 से आरंभ किया गया है
  • i := 0
  • जब i < input_list का आकार हो, तब तक करें
    • frequency_list[input_list[i] mod (m + 1)] := frequency_list[input_list[i] mod (m + 1)] + 1
    • i := i + 1
  • i := 0
  • जब i <= m हो, तब तक करें
    • यदि frequency_list[i] >= (input_list का आकार / 2), तो
      • लूप से बाहर आएं
    • i := i + 1
  • यदि i <= m, तो
    • True लौटाएं
  • अन्यथा,
    • False लौटाएं

उदाहरण

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

def solve(input_list, m):
    frequency_list = [0] * (m + 1)
    i = 0
    while(i < len(input_list)):
        frequency_list[(input_list[i] % (m + 1))] += 1
        i += 1
    i = 0
    while(i <= m):
        if(frequency_list[i] >= (len(input_list)/ 2)):
            break
        i += 1
    if (i <= m):
        return True
    else:
        return False
input_list = [10, 18, 35, 5, 12]
print(solve(input_list, 4))

इनपुट

[10, 18, 35, 5, 12], 4

आउटपुट

True

  1. - पायथन में दिए गए ऑपरेशन करने के बाद अंत में शून्य होने वाले इंडेक्स को खोजें

    मान लीजिए हमारे पास n संख्याओं का एक ऐरे A है और एक और इनपुट K है, हमें वह इंडेक्स ढूंढना है जो दिए गए ऑपरेशन को करने के बाद अंत में शून्य हो जाएगा। ऑपरेशन इस प्रकार समझाया गया है:A[0] से A[N-1] से शुरू करके, प्रत्येक तत्व को A[i] = A[i] - K के रूप में अपडेट करें। अब, यदि A[i] < K तो A[i] = 0 रखें औ

  1. - Python में जांचें कि क्या कोई संख्या क्रमबद्ध सरणी में बहुमत तत्व है

    मान लीजिए हमारे पास एक सरणी है जिसे nums कहा जाता है और यह गैर-घटते क्रम में क्रमबद्ध है, और एक संख्या target है। हमें यह पता लगाना है कि क्या target एक बहुमत तत्व है। एक सरणी में एक बहुमत तत्व वह तत्व है जो लंबाई N की सरणी में N/2 से अधिक बार प्रकट होता है। इसलिए यदि सरणी जैसी है - [2,4,5,5,5,5,5,6

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

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