मान लीजिए कि हमारे पास n तत्वों की एक सरणी है, हमें सरणी के दो बाद के अनुक्रमों को चुनकर अधिकतम योग दिखाना होगा (वे भिन्न हो सकते हैं या नहीं भी हो सकते हैं) ताकि बिट का योग- पहले अनुक्रम के सभी तत्वों का बुद्धिमान और संचालन और दूसरे क्रम के सभी तत्वों का बिट-वार या संचालन अधिकतम है।
इसलिए, यदि इनपुट ए ={4, 6, 7, 2} की तरह है, तो आउटपुट 14 होगा क्योंकि हम केवल 7 का चयन करके अधिकतम और मूल्य प्राप्त कर रहे हैं और सभी का चयन करके अधिकतम या मान (4 | 6 | 7 | 2) =7. तो, परिणाम 7 + 7 =14 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
and_max :=अधिकतम गिरफ्तारी
-
or_max :=0
-
मेरे लिए 0 से लेकर गिरफ्तारी के आकार तक, करें
-
or_max :=or_max या arr[i]
-
-
वापसी और_मैक्स + या_मैक्स
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def get_max_sum(arr): and_max = max(arr) or_max = 0 for i in range(len(arr)): or_max|= arr[i] return and_max + or_max a = [4,6,7,2] print(get_max_sum(a))
इनपुट
[4,6,7,2]
आउटपुट
14