A robber is planning to rob the houses along a street. The constraint is, that he cannot rob adjacent houses. If done, it will alert the police. For the below-given algorithm and input, your task is to draw a DP matrix AND return the maximum earnings in a single night: nums = [4,3,6,2,7,10,5] Algorithm: def rob(self, nums: List[int]) - -> int: dp = [0]*len(nums) // Initialize dp array n = = len(dp) if len(nums) == 1: return nums[0] elif len(nums)==2: return max(nums[0],nums[1]) dp[0]=nums[0] dp[1]=max(nums[1], nums[0]) for i in range(2,len(nums)): dp[i] = max(nums[i]+dp[i-2],dp[i-1]) return dp[n-1]

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
A robber is planning to rob the houses along a street. The constraint is, that he cannot rob
adjacent houses. If done, it will alert the police.
For the below-given algorithm and input, your task is to draw a DP matrix AND return the
maximum earnings in a single night:
nums = [4,3,6,2,7,10,5]
Algorithm:
def rob(self, nums: List[int]) -> int:
dp = [0]*len(nums) // Initialize dp array
n = len(dp)
if len(nums) == 1:
return nums[0]
elif len(nums) == 2:
return max(nums[0],nums[1])
dp[0]=nums[0]
dp[1]=max(nums[1],nums[0])
for i in range(2,len(nums)):
dp[i] = max(nums[i]+dp[i-2],dp[i-1])
return dp[n-1]
Transcribed Image Text:A robber is planning to rob the houses along a street. The constraint is, that he cannot rob adjacent houses. If done, it will alert the police. For the below-given algorithm and input, your task is to draw a DP matrix AND return the maximum earnings in a single night: nums = [4,3,6,2,7,10,5] Algorithm: def rob(self, nums: List[int]) -> int: dp = [0]*len(nums) // Initialize dp array n = len(dp) if len(nums) == 1: return nums[0] elif len(nums) == 2: return max(nums[0],nums[1]) dp[0]=nums[0] dp[1]=max(nums[1],nums[0]) for i in range(2,len(nums)): dp[i] = max(nums[i]+dp[i-2],dp[i-1]) return dp[n-1]
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Minimum and Maximum
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education