Buttercola: Airbnb: Maximum Room Days
Understand the problem:
This problem is similar to the Leetcode House Robbery
Read full article from Buttercola: Airbnb: Maximum Room Days
给一个数组代表reservation request,suppose start date, end date back to back.
比如[5,1,1,5]代表如下预定:
Jul 1-Jul6
Jul6-Jul7
Jul7-Jul8
jul8-Jul13
当然最开始那个Jul 1是随便选就好的啦。
现在input的意义搞清楚了。还有一个限制,就是退房跟开始不能是同一天,比如如果接了Jul 1-Jul6,Jul6-Jul7就不能接了。那问题就是给你个数组,算算最多能把房子租出去多少天。这个例子的话就是10天。
[4,9,6]=10. visit 1point3acres.com for more.
[4,10,3,1,5]=1
Understand the problem:
This problem is similar to the Leetcode House Robbery
public static int getMaxRentalDays(int[] nums) { if (nums == null || nums.length == 0) { return 0; } int prev2 = 0; int prev1 = nums[0]; for (int i = 2; i <= nums.length; i++) { int curr = Math.max(prev1, prev2 + nums[i - 1]); prev2 = prev1; prev1 = curr; } return prev1; } public static void main(String[] args) { int[] nums = new int[]{4,10,3,1,5}; int result = getMaxRentalDays(nums); System.out.println(result); }