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

पायथन में प्रत्येक क्वेरी के लिए अधिकतम XOR खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक सरणी है जिसे आकार n की संख्या कहा जाता है और एक मान b भी है। हम निम्नलिखित क्वेरी को n बार निष्पादित करना चाहते हैं -

  • एक गैर-ऋणात्मक मान k <2^m की खोज करें जैसे कि अंकों और k में सभी तत्वों का XOR अधिकतम हो। तो k ith प्रश्न का उत्तर है।

  • मौजूदा सरणी अंकों से अंतिम तत्व निकालें।

  • हमें एक सरणी उत्तर खोजना है, जहां उत्तर [i] ith प्रश्न का उत्तर है।

इसलिए, यदि इनपुट nums =[0,1,1,3], m =2 जैसा है, तो आउटपुट [0,3,2,3] होगा, क्योंकि

  • nums =[0,1,1,3], k =0 क्योंकि 0 XOR 1 XOR 1 XOR 3 XOR 0 =3.

  • nums =[0,1,1], k =3 क्योंकि 0 XOR 1 XOR 1 XOR 3 =3.

  • nums =[0,1], k =2 क्योंकि 0 XOR 1 XOR 2 =3.

  • nums =[0], k =3 क्योंकि 0 XOR 3 =3.

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

  • x :=2^m - 1

  • मैं के लिए 0 से लेकर अंकों के आकार -1 तक की सीमा में हूं

    • अंक [i]:=अंक [i] XOR x

    • एक्स:=अंक [i]

  • उलटने के बाद वापसी अंक

उदाहरण

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

def solve(nums, m):
   x=2**m-1
   for i in range(len(nums)):
      nums[i]^= x
      x = nums[i]
   return(nums[::-1])

nums = [0,1,1,3]
m = 2
print(solve(nums, m))

इनपुट

[0,1,1,3], 2

आउटपुट

[0, 3, 2, 3]

  1. पायथन में अधिकतम भवन ऊंचाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक मान n है और जोड़े की एक और सूची है जिसे प्रतिबंध कहा जाता है। हम एक शहर में नई इमारतें बनाना चाहते हैं। लेकिन कुछ प्रतिबंध हैं। हम एक लाइन में बना सकते हैं और इमारतों को 1 से n तक लेबल किया जाता है। प्रतिबंधों के दो पैरामीटर हैं, इसलिए प्रतिबंध [i] =(id_i, max_height_i) इंग

  1. प्रत्येक कॉन्डोमिनियम की ऊंचाई के लिए मैट्रिक्स खोजने का कार्यक्रम पायथन में अधिकतम संभव ऊंचाई तक बढ़ाया जाता है?

    मान लीजिए हमारे पास एक 2डी मैट्रिक्स है, जहां मैट्रिक्स [आर, सी] एक शहर में एक कॉन्डोमिनियम की ऊंचाई का प्रतिनिधित्व करता है। मैट्रिक्स में प्रत्येक पंक्ति का अधिकतम भाग लेकर पश्चिम-पूर्व क्षितिज दिखाई देता है। और प्रत्येक स्तम्भ का अधिकतम भाग लेकर उत्तर-दक्षिण क्षितिज देखा जा सकता है। हमें एक नया म

  1. पायथन में सन्निहित उपसरणी का अधिकतम उत्पाद खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास अंक नामक एक सरणी है, हमें एक सरणी के भीतर एक सन्निहित उपसरणी के तत्वों का उत्पाद खोजना होगा (जिसमें कम से कम एक संख्या हो) जिसमें सबसे बड़ा उत्पाद हो। तो अगर सरणी [1,9,2,0,2,5] है, तो आउटपुट 18 होगा, क्योंकि सन्निहित उपसरणी [1,9,2] में अधिकतम उत्पाद है। इसे हल करने के लिए, हम