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

पायथन में बाइनरी संख्या दर्शाने वाली लिंक्ड लिस्ट को दशमलव पूर्णांक में बदलने का प्रोग्राम


मान लीजिए हमारे पास एक सिंगली लिंक्ड लिस्ट है। लिंक्ड लिस्ट एक बाइनरी संख्या को दर्शाती है जिसमें सबसे महत्वपूर्ण अंक पहले हैं, हमें इसे दशमलव संख्या के रूप में वापस करना है।

उदाहरण के लिए, यदि इनपुट [1,0,1,1,0] है, तो आउटपुट 22 होगा।

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

  • l := एक नई सूची
  • जब तक node null नहीं है, करें:
    • l के अंत में node का मान डालें
    • node := node का अगला
  • k := 0, v := 0
  • i को l के आकार -1 से 0 तक घटाते हुए करें:
    • यदि l[i] == 1, तो v := v + 2^k
    • k := k + 1
  • v वापस करें

उदाहरण

class ListNode:
    def __init__(self, data, next=None):
        self.val = data
        self.next = next

def make_list(elements):
    head = ListNode(elements[0])
    for element in elements[1:]:
        ptr = head
        while ptr.next:
            ptr = ptr.next
        ptr.next = ListNode(element)
    return head

class Solution:
    def solve(self, node):
        l = []
        while node:
            l.append(node.val)
            node = node.next
        k = 0
        v = 0
        for i in range(len(l)-1, -1, -1):
            if l[i] == 1:
                v += (2**k)
            k += 1
        return v

ob = Solution()
head = make_list([1,0,1,1,0])
print(ob.solve(head))

इनपुट

[1,0,1,1,0]

आउटपुट

22
  1. पायथन में लिंक्ड लिस्ट को जिग-जैग बाइनरी ट्री में बदलने का प्रोग्राम पायथन में लिंक्ड लिस्ट को जिग-जैग बाइनरी ट्री में बदलने का प्रोग्राम

    मान लीजिए हमारे पास एक सिंगली लिंक्ड लिस्ट है, हमें इसे निम्न नियमों का उपयोग करके बाइनरी ट्री पथ में बदलना है:लिंक्ड लिस्ट का हेड रूट है।प्रत्येक बाद का नोड पैरेंट का बायां बच्चा है यदि उसका मान कम है, अन्यथा यह दायां बच्चा होगा।उदाहरण के लिए, यदि इनपुट [2,1,3,4,0,5] है, तो आउटपुट ट्री होगा:समाधान

  1. पायथन प्रोग्राम: दशमलव को बाइनरी संख्या में बदलें पायथन प्रोग्राम: दशमलव को बाइनरी संख्या में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक दशमलव संख्या दी गई है, जिसे उसके बाइनरी समकक्ष में बदलना है। दिए गए समस्या को हल करने के दो दृष्टिकोण हैं। आइए उन्हें एक-एक करके देखें। पुनरावर्ती दृष्टिकोण उदाहरण 1: DecimalToBinary(num // 2) print(num % 2, en

  1. पायथन प्रोग्राम: डेसीमल को बाइनरी नंबर में बदलें पायथन प्रोग्राम: डेसीमल को बाइनरी नंबर में बदलें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक नंबर दिए जाने पर, हमें इसे बाइनरी नंबर में बदलने की आवश्यकता है। दृष्टिकोण 1 – रिकर्सिव समाधान 1: DecToBin(num // 2) print num % 2 उदाहरण 1: DecimalToBi