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

पायथन में जांचें कि कोई एन्कोडिंग एक अद्वितीय बाइनरी स्ट्रिंग को दर्शाता है या नहीं

मान लीजिए हमारे पास एक ऐरे nums है जो आकार k की एक बाइनरी स्ट्रिंग का एन्कोडिंग दर्शाता है। हमें यह जांचना है कि दिया गया एन्कोडिंग एक अद्वितीय बाइनरी स्ट्रिंग ढूंढता है या नहीं। यहां एन्कोडिंग में सन्निकट 1s की गिनती होती है जो एकल 0s से अलग होती हैं।

उदाहरण के लिए, यदि इनपुट nums = [4, 2, 3] और k = 11 है, तो आउटपुट True होगा क्योंकि k = 11 लंबाई की एक बाइनरी स्ट्रिंग 11110110111 मौजूद है।

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

एन्कोडिंग में प्रत्येक संख्या सन्निकट 1s के एक ब्लॉक को दर्शाती है। इन ब्लॉकों के बीच एकल 0 होते हैं। कुल लंबाई 1s के योग और (ब्लॉकों की संख्या - 1) जीरो के बराबर होगी।

एल्गोरिदम चरण:

  1. total = sum(nums) (सभी 1s की कुल संख्या)
  2. total += len(nums) - 1 (ब्लॉकों के बीच के 0s जोड़ें)
  3. यदि total == k तो True लौटाएं, अन्यथा False

पायथन कार्यान्वयन

def solve(nums, k):
    total = sum(nums)
    total += len(nums) - 1
    return total == k

nums = [4, 2, 3]
k = 11
print(solve(nums, k))  # True

इनपुट

[4, 2, 3], 11

आउटपुट

True

व्याख्या:

एन्कोडिंग [4, 2, 3] का अर्थ:

  • 4 सन्निकट 1s: 1111
  • 1 जीरो (सेपरेटर): 0
  • 2 सन्निकट 1s: 11
  • 1 जीरो (सेपरेटर): 0
  • 3 सन्निकट 1s: 111

कुल लंबाई = 4 + 1 + 2 + 1 + 3 = 11 = k ✓

  1. पायथन में DFA का उपयोग करके जांचें कि बाइनरी स्ट्रिंग 3 का गुणक है या नहीं पायथन में DFA का उपयोग करके जांचें कि बाइनरी स्ट्रिंग 3 का गुणक है या नहीं

    मान लीजिए हमारे पास एक सरणी n है जो किसी संख्या के बाइनरी प्रतिनिधित्व को दर्शाती है। हमें डिटरमिनिस्टिक फाइनाइट ऑटोमेटा (DFA) का उपयोग करके जांचना है कि इसका बाइनरी प्रतिनिधित्व 3 से विभाज्य है या नहीं। उदाहरण के लिए, यदि n = [1, 1, 0, 0] (12 का बाइनरी) है, तो आउटपुट True होगा। हल करने का तरीका हम

  1. पायथन में जांचें कि कोई ऐरे बाइनरी सर्च ट्री का इनऑर्डर ट्रैवर्सल है या नहीं पायथन में जांचें कि कोई ऐरे बाइनरी सर्च ट्री का इनऑर्डर ट्रैवर्सल है या नहीं

    मान लीजिए हमारे पास संख्याओं का एक ऐरे nums है। हमें यह जांचना है कि क्या ऐरे बाइनरी सर्च ट्री के तत्वों को इसके इनऑर्डर ट्रैवर्सल के क्रम में रखता है या नहीं। उदाहरण के लिए, यदि इनपुट nums = [5, 8, 15, 18, 20, 26, 39] है, तो आउटपुट True होगा क्योंकि यह निम्न BST का इनऑर्डर ट्रैवर्सल है: समाधान

  1. पायथन प्रोग्राम: जांचें कि स्ट्रिंग में सभी यूनिक कैरेक्टर्स हैं या नहीं पायथन प्रोग्राम: जांचें कि स्ट्रिंग में सभी यूनिक कैरेक्टर्स हैं या नहीं

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