Maximum money

Given a street of N houses (a row of houses), each house having amount of money kept inside; now there is a thief who is going to steal this money but he has a constraint/rule that he cannot steal/rob two adjacent houses. Find the maximum money he can rob.

Example 1:

Input:
N = 5 , K = 10
Output:
30
Explanation:
The Robber can rob from the first, third
and fifth houses which will result in 30.

Example 2:

Input:
N = 2 , K = 12
Output:
12
Explanation:
The Robber can only rob from the first
or second which will result in 12.

Your Task:
You don't need to read input or print anything. Your task is to complete the function maximizeMoney() which takes 2 Integers N and K as input and returns the answer.

Expected Time Complexity: O(1)
Expected Auxiliary Space: O(1)



class Solution:
    def maximizeMoney(self, N , K):
        self.N=N
        self.K=K
        s=0
        for i in range(1,N+1):
            if(i%2!=0):
                s+=K
        return s%(10**9+7)

Comments

Popular posts from this blog

Large Factorial of array

LEARN SOMMETHING INTRESTING

Value equal to index value