Maximum Money
Problem​
Given a street of N houses (a row of houses), each house having K 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.
Examples:​
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:
- Expected Auxiliary Space:
Constraints:​
Solution​
Python​
def maximizeMoney(self, N , K):
return ((N+1)//2)*K;
Java​
static int maximizeMoney(int N , int K) {
return ((N+1)/2)*K;
}
C++​
int maximizeMoney(int N , int K) {
return ((N+1)/2)*K;
}
C​
int maximizeMoney(int N , int K) {
return ((N+1)/2)*K;
}
- Time Complexity:
- Auxiliary Space: