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

यह जांचने का कार्यक्रम कि दी गई सूची वैध स्थिति में है या नहीं, पायथन में है

मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहते हैं, हमें यह जांचना है कि क्या प्रत्येक संख्या को निम्नलिखित नियमों में से किसी एक का उपयोग करके समूहीकृत किया जा सकता है:1. सन्निहित जोड़े (ए, ए) 2. सन्निहित त्रिक (ए, ए, ए) 3. सन्निहित ट्रिपलेट्स (ए, ए + 1, ए + 2)

इसलिए, यदि इनपुट nums =[7, 7, 3, 4, 5] जैसा है, तो आउटपुट True होगा, क्योंकि हम [7, 7] को एक साथ और [3, 4, 5] को एक साथ समूहित कर सकते हैं।

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

  • n :=अंकों का आकार

  • dp:=आकार n+1 की सूची, पहला मान सही है, अन्य गलत हैं

  • मेरे लिए 2 से n की सीमा में, करें

    • अगर i>=2 और dp[i − 2] 0 नहीं है, तो

      • अगर nums[i − 1], nums[i − 2] के समान है, तो

        • डीपी [i] :=सच

    • अगर i>=3 और dp[i − 3] 0 नहीं है, तो

      • अगर (संख्या [i − 1], अंक [i − 2], अंक [i − 3]) समान हैं या (संख्या [i − 1], अंक [i − 2] + 1, अंक [i − 3] + 2 समान हैं), फिर

        • डीपी [i] :=सच

  • वापसी डीपी [एन]

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

उदाहरण

class Solution:
   def solve(self, nums):
      n = len(nums)
      dp = [True] + [False] * n
      for i in range(2, n + 1):
         if i >= 2 and dp[i − 2]:
            if nums[i − 1] == nums[i − 2]:
               dp[i] = True
         if i >= 3 and dp[i − 3]:
            if (nums[i − 1] == nums[i − 2] == nums[i − 3]) or (nums[i − 1] == nums[i − 2] + 1 == nums[i − 3] + 2):
               dp[i] = True
         return dp[n]
ob = Solution()
nums = [8, 8, 4, 5, 6]
print(ob.solve(nums))

इनपुट

[8, 8, 4, 5, 6]

आउटपुट

True

  1. पायथन में दिया गया पेड़ सममित पेड़ है या नहीं, यह जांचने के लिए कार्यक्रम पायथन में दिया गया पेड़ सममित पेड़ है या नहीं, यह जांचने के लिए कार्यक्रम

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

  1. पायथन में दिया गया ग्राफ द्विदलीय है या नहीं, यह जांचने के लिए कार्यक्रम पायथन में दिया गया ग्राफ द्विदलीय है या नहीं, यह जांचने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास एक अप्रत्यक्ष ग्राफ है, हमें यह जांचना है कि ग्राफ द्विदलीय है या नहीं। जैसा कि हम जानते हैं कि एक ग्राफ द्विदलीय होता है जब हम ग्राफ के नोड्स को दो सेट ए और बी में विभाजित कर सकते हैं जैसे कि ग्राफ के प्रत्येक किनारे {यू, वी} में ए में एक नोड और बी में दूसरा नोड वी होता है।

  1. पायथन प्रोग्राम यह जांचने के लिए कि दी गई स्ट्रिंग कीवर्ड है या नहीं पायथन प्रोग्राम यह जांचने के लिए कि दी गई स्ट्रिंग कीवर्ड है या नहीं

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