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

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

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

इसलिए, अगर इनपुट [1,0,1,1,0] जैसा है, तो आउटपुट 22

. होगा

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

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

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

उदाहरण

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. पायथन प्रोग्राम में दशमलव को बाइनरी नंबर में बदलें

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

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

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक संख्या को देखते हुए हमें एक द्विआधारी संख्या में बदलने की जरूरत है। दृष्टिकोण 1 - पुनरावर्ती समाधान DecToBin(num):    if num > 1:       DecToBin(num // 2)   &nb