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

पायथन में जनरेटेड लिस्ट से विशिष्ट एलिमेंट्स के XOR मान ढूंढने का प्रोग्राम

मान लीजिए हमें एक लिस्ट दी गई है जिसमें नेचुरल नंबर्स हैं। अब उस लिस्ट से, हम उन सभी नंबर्स को हटा देते हैं जिनके बाइनरी प्रतिनिधित्व में दो क्रमागत 1 होते हैं और एक अन्य लिस्ट Z जनरेट करते हैं। अब हमें एक और लिस्ट 'input_list' दी गई है जिसमें कुछ इंटीजर मान हैं। हमें Z के उन विशिष्ट एलिमेंट्स का XOR मान ढूंढना है जिनके इंडेक्स input_list में निर्दिष्ट हैं।

इसलिए, यदि इनपुट है input_list = [3, 4, 5], तो आउटपुट 9 होगा।

Z के इंडेक्स 3, 4, और 5 में मान 4, 5, और 8 हैं। तो, 4 XOR 5 XOR 8 = 9।

समाधान दृष्टिकोण

  • zeck_num() फंक्शन परिभाषित करें जो k और f_list लेता है
  • MOD := 10^9 + 7
  • max_val := 10^18
  • f_list := [1, 2] मान वाली नई लिस्ट
  • जब तक f_list का अंतिम एलिमेंट <= max_val, फिबोनाची अनुक्रम जनरेट करें
  • प्रत्येक इंडेक्स के लिए input_list में, zeck_num की गणना करें और XOR करें
  • परिणाम को MOD से मोड्यूलो करें

उदाहरण कार्यान्वयन

def zeck_num(k, f_list):
    res = 0
    for i in range(len(f_list)-1, -1, -1):
        if k >= f_list[i]:
            res += 2**i
            k -= f_list[i]
    return res

def solve(input_list):
    MOD = 10**9 + 7
    max_val = 10**18
    f_list = [1, 2]
    while f_list[-1] <= max_val:
        f_list.append(f_list[-1] + f_list[-2])
    res = 0
    for index in input_list:
        res ^= zeck_num(index, f_list)
    return res % MOD

print(solve([3, 4, 5]))

इनपुट

[3, 4, 5]

आउटपुट

9
  1. पायथन में सब-ट्री के नोड मानों के योग से न्यूनतम मान खोजने का प्रोग्राम पायथन में सब-ट्री के नोड मानों के योग से न्यूनतम मान खोजने का प्रोग्राम

    मान लीजिए, हमारे पास एक ट्री है जिसके सभी नोड्स 1 से n तक संख्याबद्ध हैं। प्रत्येक नोड में एक पूर्णांक मान होता है। अब यदि हम ट्री से एक किनारा हटाते हैं, तो दोनों सब-ट्री के नोड मानों के योग में अंतर न्यूनतम होना चाहिए। हमें ऐसे सब-ट्री के बीच न्यूनतम अंतर पता लगाना और लौटाना है। ट्री को हमें किनार

  1. - पायथन में विशिष्ट अक्षर से शुरू होने वाले सूची तत्व ढूंढें

    इस लेख में हम सूची से उन सभी तत्वों को ढूंढेंगे जो विशिष्ट अक्षर से शुरू होते हैं। सूचकांक और lower के साथ हम lower फ़ंक्शन का उपयोग करते हैं ताकि टेस्ट अक्षर सूची में तत्वों के पहले अक्षर से केस की परवाह किए बिना मेल खा सके। फिर हम सूचकांक 0 का उपयोग करते हैं ताकि सूची में तत्वों के पहले अक्षर की

  1. - पायथन प्रोग्राम सूची से N सबसे बड़े तत्व खोजने के लिए

    एक पूर्णांक सूची दी गई है, हमारा कार्य सूची में N सबसे बड़े तत्व ढूंढना है। उदाहरण इनपुट : [40, 5, 10, 20, 9] N = 2 आउटपुट: [40, 20] एल्गोरिदम चरण 1: एक पूर्णांक सूची और सबसे बड़ी संख्या की संख्या इनपुट करें। चरण 2: पहले सूची को N बार पार करें। चरण 3: प्रत्येक पारगमन में सबसे बड़ा मान ढूंढें और इसे