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

जांचें कि क्या पायथन में लिंक्ड सूची में लगातार नोड्स का पूर्ण अंतर 1 है

मान लीजिए, हमारे पास एक एकल लिंक की गई सूची है जहां प्रत्येक नोड में एक पूर्णांक मान होता है। हमें यह पता लगाना है कि क्या दो क्रमिक नोड्स के बीच पूर्ण अंतर 1 है।

इसलिए, अगर इनपुट start_node->5->6->7->8->7->6->5->4 जैसा है, तो आउटपुट ट्रू होगा।

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

  • अस्थायी:=start_node
  • जबकि अस्थायी शून्य नहीं है, करें
    • यदि अस्थायी लिंक शून्य के समान है, तो
      • लूप से बाहर आएं
    • अगर | (अस्थायी) का मान - (temp.link) का मान| 1 के समान नहीं है, तो
      • झूठी वापसी
    • अस्थायी:=अस्थायी लिंक
  • सही लौटें

उदाहरण

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

import math
class link_node:
   def __init__(self, value):
      self.value = value
      self.link = None
def create_node(value):
   temp = link_node(value)
   temp.value = value
   temp.link = None
   return temp
def make_list(elements):
   head = link_node(elements[0])
   for element in elements[1:]:
      ptr = head
      while ptr.link:
         ptr = ptr.link
      ptr.next = link_node(element)
   return head
def solve(start_node):
   temp = start_node
   while (temp):
      if (temp.link == None):
         break
      if (abs((temp.value) - (temp.link.value)) != 1) :
         return False
      temp = temp.link
   return True
start_node = make_list([5, 6, 7, 8, 7, 6, 5, 4])
print(solve(start_node))

इनपुट

[5, 6, 7, 8, 7, 6, 5, 4]

आउटपुट

True

  1. टुपल्स को उनके पूर्ण अंतर की आवृत्ति के आधार पर क्रमबद्ध करने के लिए पायथन कार्यक्रम

    जब टुपल्स को उनके पूर्ण अंतर की आवृत्ति के आधार पर क्रमबद्ध करना आवश्यक होता है, तो लैम्ब्डा फ़ंक्शन, एब्स विधि और सॉर्टेड विधि का उपयोग किया जाता है। उदाहरण नीचे उसी का एक प्रदर्शन है my_list = [(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)] print("The list is :") print(my_

  1. पायथन - सूची में लगातार डिवीजन

    जब किसी सूची में लगातार विभाजन खोजने की आवश्यकता होती है, तो एक विधि परिभाषित की जाती है जो सूची के तत्वों पर पुनरावृत्त होती है और परिणाम निर्धारित करने के लिए / ऑपरेटर का उपयोग करती है। नीचे उसी का एक प्रदर्शन है - उदाहरण def consec_division(my_list):    my_result = my_list[0]   &

  1. पायथन में लिंक की गई सूची से m नोड्स के बाद n नोड्स को हटाने का कार्यक्रम

    मान लीजिए कि हमें एक लिंक्ड सूची दी गई है जिसमें हेड के रूप में प्रारंभ नोड है, और दो पूर्णांक संख्याएं एम और एन हैं। हमें सूची को पार करना होगा और कुछ नोड्स को हटाना होगा जैसे कि पहले m नोड्स को सूची में रखा जाता है और अगले n नोड्स को पहले m नोड्स को हटा दिए जाने के बाद। हम इसे तब तक करते हैं जब तक