কম্পিউটার টিউটোরিয়াল

পাইথনে হাউস রবার প্রব্লেম

একটি সিটিতে প্রতিটি হাউসে টাকা আছে। এক রাতেই রবারি করতে হবে, কিন্তু দুটি সन्नিহিত হাউস রবার করলে পুলিশ ডাকাবে। সর্বোচ্চ কত টাকা রবার করা যায় তা বের করতে হবে। ডাইনামিক প্রোগ্রামিং সমাধান।

সমাধানের পদ্ধতি

  1. prev1 = 0, prev2 = 0 ইনিশিয়ালাইজ করুন।
  2. প্রতিটি হাউসের জন্য:
    • temp = prev1
    • prev1 = max(prev2 + nums[i], prev1)
    • prev2 = temp
  3. prev1 রিটার্ন করুন।

উদাহরণ কোড

class Solution(object):
    def rob(self, nums):
        prev2 = 0
        prev1 = 0
        for i in range(0, len(nums)):
            temp = prev1
            prev1 = max(prev2 + nums[i], prev1)
            prev2 = temp
        return prev1

ob1 = Solution()
print(ob1.rob([2,7,10,3,1]))

ইনপুট

nums = [2,7,10,3,1]

আউটপুট

13
  1. C++-এ হাউস রবার III

  2. পাইথনে issuperset() ফাংশন

  3. পাইথনে আন্ডারস্কোর (_) এর ব্যবহার

  4. পাইথনে Quine প্রোগ্রাম (স্ব-প্রजनনকারী কোড)