此题可用动态规划求解,原数组为b[],我们用一个二维数组a[][2]来表示当前是否预约到客人,a[][0]就表示当前没有接预约,a[0][1]则表示接到预约,分析一下,对于按摩师来说 如果当前接到预约,那么则说明上一个是一定没有预约的,那么此时总预约时间最长应该为当前预约时间+上一个没有预约到的时间,即为a[i][1]=b[i]+a[i-1][0].如果当前没有接到预约,则上一个可能预约也可能没有预约,我们取两者最大值作为最大总预约时间,即a[i][0]=max(a[i-1][0],a[i-1][1]).边界条件为a[0][0]=0,a[0][1]=b[0].

package leetcode;public class leetcode198 {public static void main(String[] args) {int a[]={2,7,9,3,1};l l1=new l();System.out.println(l1.rob(a));}
}
class l{public int rob(int[] nums) {if(nums.length==0){return 0;
}
else if(nums.length==1){return nums[0];
}
else{int b[][]=new int[nums.length][2];//用二维数组表示当前预约情况 b[i][0]表示当前未预约,b[i][1]表示当前预约成功.b[0][0]=0;//边界条件 b[0][1]=nums[0];for(int i=1;i<nums.length;i++){b[i][0]=Math.max(b[i-1][0],b[i-1][1]);//上文提到 不再过多解释b[i][1]=nums[i]+b[i-1][0];}return Math.max(b[nums.length-1][0],b[nums.length-1][1]);}}
}

leetcode 面试题198+17.6相关推荐

  1. leetcode 面试题 17.14. 最小K个数 大顶堆 小顶堆 快排

    leetcode 面试题 17.14. 最小K个数 [难度:中等] 设计一个算法,找出数组中最小的k个数.以任意顺序返回这k个数均可. 示例: 输入: arr = [1,3,5,7,2,4,6,8], ...

  2. [leetcode 面试题 17.17] -- 多次搜索,KMP与字典树

    [leetcode 面试题 17.17] -- 多次搜索 题目来源 分析 KMP思路 完整代码 字典树 完整代码 题目来源 https://leetcode-cn.com/problems/multi ...

  3. 面试题 16.17. 连续数列

    面试题 16.17. 连续数列https://leetcode.cn/problems/contiguous-sequence-lcci/ 难度简单114 给定一个整数数组,找出总和最大的连续数列,并 ...

  4. java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面

    LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入 ...

  5. c# 两个list比较_C#刷遍Leetcode面试题系列连载(1) 入门与工具简介(VS Code amp; VS)...

    什么要刷LeetCode 大家都知道,很多对算法要求高一点的软件公司,比如美国的FLAGM (Facebook.LinkedIn.Amazon/Apple.Google.Microsoft),或国内大 ...

  6. C#刷遍Leetcode面试题系列连载(6):No.372 - 超级次方

    点击蓝字"dotNET匠人"关注我哟 加个"星标★",每日 7:15,好文必达! 前文传送门: C# 刷遍 Leetcode 面试题系列连载(1) - 入门与工 ...

  7. C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介

    点击蓝字"dotNET匠人"关注我哟 加个"星标★",每日 7:15,好文必达! 什么要刷LeetCode 大家都知道,很多对算法要求高一点的软件公司,比如美国 ...

  8. LeetCode 面试题13. 机器人的运动范围

    我的LeetCode:https://leetcode-cn.com/u/ituring/ 我的LeetCode刷题源码[GitHub]:https://github.com/izhoujie/Alg ...

  9. [LeetCode] 面试题 02.07. 链表相交

    LeetCode 面试题 02.07.链表相交 思路 题目的本意其实就是求两个链表相交处结点的指针,并返回该结点指针 步骤: Step1.分别用两个指针curA.curB指向两个链表A.B的头结点 S ...

最新文章

  1. java.net.SocketException四大异常解决方案
  2. 【深度学习入门到精通系列】模型结构可视化神器Netron(连.pth都可以~!)
  3. std::jthread与std::thread的区别
  4. 连通图遍历策略之广度优先搜索(C语言)
  5. [webpack-cli] Unable to load ‘@webpack-cli/serve‘ command
  6. eclipse error
  7. 如何将原图和json融合_用 base64 进行图片和字符串互转,并保存至 json
  8. yum php5.6源码,5.2 YUM升级PHP5.6
  9. java8 function 多线程安全_Java8新特性_传统时间格式化的线程安全问题
  10. 吝啬SAT问题是NP完全问题的证明
  11. 虚拟机网卡和linux bridge上tap设备的关系
  12. awesome系列网址
  13. 2021高考成绩查询数学和物理,2021高考预测一本线 大概分数是多少
  14. 图片加载防闪动的CSS方法
  15. Etcher 改变一个选项,让所有盘符都乖乖出来
  16. 如何区分电梯卡为id卡ic卡_电梯ic卡系统与ID卡系统有什么区别
  17. 基于51单片机的十字路口交通红绿灯控制系统仿真原理图方案设计
  18. 2019CSP初赛基础知识整理
  19. 43、总建筑面积大于20000㎡的地下或半地下建筑的防火要求
  20. 打开APPStore跳转到指定APP

热门文章

  1. 可可英语奇文老师 全方位搞定英语词汇听说读写,无压力听懂电台看懂原著!奇文(免费下载)
  2. redis配置文件 谷歌翻译版本
  3. android端口数据包,【图片】android抓包工具fiddler抓包使用方法 跟踪监控android数据包【中国红客联盟吧】_百度贴吧...
  4. psnbsp;盖印图层
  5. 记一次辛酸的ajax+jquery搜索框制作过程
  6. ITAT 第九届 模拟题 C语言程序设计 参考答案(个人答案 仅供参考)
  7. oracle行总计,Oracle总计列和行
  8. eclipse插件重新加载
  9. 计算机系为什么要学素描,学完古典素描为何还要学习现代素描?
  10. KUKA ii感你所感:LBR iiwa开启灵敏型机器人新纪元