题1 按摩师

描述

一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。
注意:本题相对原题稍作改动
示例 1:
输入: [1,2,3,1]
输出: 4
解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。
示例 2:
输入: [2,7,9,3,1]
输出: 12
解释: 选择 1 号预约、 3 号预约和 5 号预约,总时长 = 2 + 9 + 1 = 12。
示例 3:
输入: [2,1,4,5,3,1,1,3]
输出: 12
解释: 选择 1 号预约、 3 号预约、 5 号预约和 8 号预约,总时长 = 2 + 4 + 3 + 3 = 12。

题解1 递归

思路:dp[i] = max(dp[i - 1], dp[i - 2] + nums[i])
要么是当前元素加上间隔的前一个位置

class Solution {public int massage(int[] nums) {int n = nums.length;if (n == 0) {return 0;}if (n == 1) {return nums[0];}int[] dp = new int[n];dp[0] = nums[0];dp[1] = Math.max(nums[0], nums[1]);for (int i = 2; i < n; i++) {dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);}return dp[n - 1];}
}

题解2 优化

class Solution {public int massage(int[] nums) {int a = 0, b = 0;for(int i = 0; i < nums.length; i++){int c = Math.max(b, a+nums[i]);a = b;b = c;}return b;}
}

题2 打家劫舍

描述

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
示例 1:
输入: [1,2,3,1]
输出: 4
解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。
偷窃到的最高金额 = 1 + 3 = 4 。
示例 2:
输入: [2,7,9,3,1]
输出: 12
解释: 偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。
偷窃到的最高金额 = 2 + 9 + 1 = 12 。

题解

与题1相同

题3 搜索插入位置

描述

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5
输出: 2
示例 2:
输入: [1,3,5,6], 2
输出: 1
示例 3:
输入: [1,3,5,6], 7
输出: 4
示例 4:
输入: [1,3,5,6], 0
输出: 0

题解

思路:二分查找,然后插入
执行用时 :0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗 :38.8 MB, 在所有 Java 提交中击败了71.33%的用户

class Solution {public int searchInsert(int[] nums, int target) {int start = 0, end = nums.length - 1;boolean flag = false;while(start <= end){int mid = (start+end)/2;if(nums[mid] > target){end = mid - 1;}else if(nums[mid] < target){start = mid + 1;}else{flag = true;return mid;}}int pos = nums.length;if(flag == false){for(int i = 0; i < nums.length; i++){if(target < nums[i]){pos = i;break;}}}return pos;}
}

【LeetCode】3月24日打卡-Day9相关推荐

  1. 力扣每日打卡8月24日打卡(459. 重复的子字符串,简单)

    a b c d a b c d a b c d 0 1 2 3 4 5 6 7 8 9 10 11 当循环到d时,i为3时,0与4对比,1与5对比,2与6对比,3与7对比 之后4与8对比,5与9对比, ...

  2. leetcode.cn 2022年11月4日 打卡题 754. 到达终点数字【一元二次方程解法,时间复杂度O(1)】

    leetcode 2022年11月4日 打卡题 754. 到达终点数字 写在前面   首先感谢 @子不语 大佬发布的一元二次方程代码实现的启发.题解链接:子不语-754. 到达终点数字   本文侧重梳 ...

  3. 1月23日服务器例行维护更新公告,1月24日服务器例行维护公告(已完成)

    原标题:1月24日服务器例行维护公告(已完成) 亲爱的玩家: 青龙乱舞区.大地飞鹰区.血海飘香区.陌上花开区.天命风流区.沧海云帆区全部服务器将在1月24日6:00~8:00停机维护更新,维护完成后上 ...

  4. 拳皇重生服务器维护,《拳皇97 OL》3月24日更新维护公告

    亲爱的拳皇玩家: 为了给广大玩家营造更加稳定顺畅的游戏环境,提供更丰富的游戏体验,<拳皇97 OL>将于3月24日清晨对游戏服务器进行例行更新维护,期间玩家将无法登录服务器,给您造成的不便 ...

  5. 如何利用大数据做金融风控? 原创 2016年11月24日 17:42:03 标签: 大数据 / 金融 / 风控 1594 导语:如何通过海量数据与欺诈风险进行博弈? 随着金融科技、科技金融等概念的

    如何利用大数据做金融风控? 原创 2016年11月24日 17:42:03 标签: 大数据 / 金融 / 风控 1594 导语:如何通过海量数据与欺诈风险进行博弈? 随着金融科技.科技金融等概念的热起 ...

  6. 按冯诺依曼提出的计算机类型,2011年12月24日计算机一级考试题目广西

    <2011年12月24日计算机一级考试题目广西>由会员分享,可在线阅读,更多相关<2011年12月24日计算机一级考试题目广西(13页珍藏版)>请在人人文库网上搜索. 1.全国 ...

  7. 熊出没之奇幻空间里面的机器人图片_武汉欢乐谷奇幻灯光节12月24日盛大开幕...

    温情岁末,赏灯迎新,武汉欢乐谷奇幻灯光节于12月24日盛大开幕,千万璀璨花灯点亮欢乐谷,欢乐谷成为一片欢乐的海洋. 武汉欢乐谷奇幻灯光节将带来全新的光影表演,千万自贡花灯创新立意玩转光影,稻梦空间.暮 ...

  8. 8月24日,数据分析、区块链、产品管理、市场、运营、财务、媒体等一大波热门岗位来袭丨今夏硅谷最热门的招聘会进入倒计时...

    你也许觉得时间还很多 你也许觉得找工作并没有那么难 你也许正收拾行囊准备享受暑期的旅行 可你却不知道 你正在与一大波机会擦肩而过 没有复杂的简历筛选 也没有令人紧张的电话面试 瀚海.北美省钱快报.华兴 ...

  9. 直播预告|5月24日下午14:00 AAAI 专场来啦

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 5月24日14:00,本期我们邀请到AAAI的八位学者给大家带来精彩的分享! 5月24日 14:00-14:30 张载熙: 中国科学技术 ...

最新文章

  1. 为什么eolinker发送老是等待_如何妙用 eoLinker 进行接口测试
  2. 云计算具有什么平台_究竟什么是云计算?
  3. Iris recognition papers in the top journals in 2017
  4. ACM中Java使用总结
  5. 禁止ipc$默认共享的方法
  6. QT学习笔记(一):VS2013 +QT 5.8 运行、编译问题解决
  7. 阿里用什么替代了dubbo_踢脚线怎么装才好看?如果不装踢脚线,用什么替代?...
  8. 是!“不会数据分析的,全是假程序员”!HR:太真实……
  9. Ubuntu中ssh远程报错:packet_write_wait: Connection to 192.168.163.190 port 22: Broken pipe lost connection
  10. Gerrit搭建与代码下载
  11. java radix sort_Java RadixSort
  12. android通过代码设置铃声_iOS、Android数据传输管理工具
  13. Java学习笔记:案例:标准体重计算器
  14. Neo4j使用记录--APOC和GDS的安装【实践】
  15. 小码哥php教程,小码哥Java从0到高级工程师
  16. 生产排程系统_高级计划与排程的基本概念
  17. 01-RobotStudio新建系统
  18. 35年夜linux版本竞技
  19. 易得无价宝,难得有情郎
  20. OllyDbg使用方法

热门文章

  1. 拆解前苏联产荧光数码管计算器,内部电路结构彪悍!
  2. ms access to mysql_Access转MySQL工具
  3. Chapter7-4_來自獵人暗黑大陸的模型 GPT-3
  4. LeetCode LCP 34. 二叉树染色(树上DP)
  5. LeetCode 793. 阶乘函数后K个零(二分查找)
  6. 程序员面试金典 - 面试题 16.16. 部分排序(排序/不排序)
  7. 程序员面试金典 - 面试题 08.05. 递归乘法(位运算)
  8. LeetCode 791. 自定义字符串排序(map)
  9. LeetCode 500. 键盘行
  10. POJ 3690 找星座(2D匹配)(未解答)