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

Python - दी गई बिटोनिक सीक्वेंस में बिटोनिक पॉइंट ढूंढना

मान लीजिए हमारे पास एक बिटोनिक सीक्वेंस है, हमें इसमें बिटोनिक पॉइंट ढूंढना है। जैसा कि हम जानते हैं, एक बिटोनिक सीक्वेंस संख्याओं का एक क्रम है जो पहले सख्ती से बढ़ रहा है फिर एक निश्चित बिंदु के बाद सख्ती से घट रहा है। यह बिंदु बिटोनिक पॉइंट है। केवल बढ़ते या केवल घटते क्रम के लिए, बिटोनिक पॉइंट उपलब्ध नहीं हैं।

तो, यदि इनपुट [7, 8, 9, 12, 10, 6, 3, 2] जैसा है, तो आउटपुट 12 होगा।

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

  • binary_search(array, l, r) फंक्शन डिफाइन करें
  • यदि l <= r, तो:
    • m := (l + r) // 2
  • यदि array[m - 1] < array[m] और array[m] > array[m + 1], तो:
    • m लौटाएं
  • यदि array[m] < array[m + 1], तो:
    • binary_search(array, m + 1, r) लौटाएं
  • अन्यथा
    • binary_search(array, l, m - 1) लौटाएं
  • -1 लौटाएं

उदाहरण

बेहतर समझ के लिए निम्नलिखित इम्प्लीमेंटेशन देखें:

def binary_search(array, l, r):
    if l <= r:
        m = (l + r) // 2
        if array[m - 1] < array[m] and array[m] > array[m + 1]:
            return m
        if array[m] < array[m + 1]:
            return binary_search(array, m + 1, r)
        else:
            return binary_search(array, l, m - 1)
    return -1

array = [7, 8, 9, 12, 10, 6, 3, 2]
n = len(array)
index = binary_search(array, 1, n - 2)
if index != -1:
    print(array[index])

इनपुट

[7, 8, 9, 12, 10, 6, 3, 2]

आउटपुट

12
  1. पायथन में दिए गए सरणी के किसी भी अनुक्रम का अधिकतम आकार खोजने का प्रोग्राम जहां हर जोड़ी अच्छी है पायथन में दिए गए सरणी के किसी भी अनुक्रम का अधिकतम आकार खोजने का प्रोग्राम जहां हर जोड़ी अच्छी है

    मान लीजिए हमारे पास आकार n का एक अनुक्रम nums है। हमें nums के उस सबसीक्वेंस का अधिकतम आकार खोजना है जिसमें हर जोड़ी (p, q) एक अच्छी जोड़ी है? एक जोड़ी को अच्छी जोड़ी कहा जाता है यदि और केवल यदि यह इनमें से कम से कम एक शर्त को पूरा करती है: 1. p के विशिष्ट अभाज्य भाजकों की संख्या की समता q के समान ह

  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें