java 打劫_【JAVA算法题】职业抢劫
题目
/*You are a professional robber planning to rob houses along a street.
* Each house has a certain amount of money stashed,
* the only constraint stopping you from robbing each of them is that
* adjacent houses have security system connected and
* it will automatically contact the police if two adjacent houses were broken into on the same night.
* Given a list of non-negative integers representing the amount of money of each house,
* determine the maximum amount of money you can rob tonight without alerting the police.
**/
/*你是一个职业抢劫犯,打算沿着街道抢劫房子。
* 每个房子都有一定量的存款,唯一的约束阻止你抢它们是相邻的房屋有安全系统连接,
* 它会自动与警方联系,如果两个相邻的房屋被分解成在同一个晚上。
* 给出一个代表每个房子的钱的非负整数的列表,确定今晚你能抢劫的最大金额而不必报警。
**/
代码
动态规划法(重点)
1 //动态规划
2 import java.util.*;3 public classMain {4 public static voidmain(String[] args) {5 Scanner sc = newScanner(System.in);6 int a =sc.nextInt();7 int aa[] = new int[a];8 for(int i=0;i
解析
最优解的问题一般都可以用动态规划算法
动态规划算法:
1.全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解
2.动态规划的关键是状态转移方程,即如何由以求出的局部最优解来推导全局最优解
3.边界条件:即最简单的,可以直接得出的局部最优解
状态转移方程: aa[i] += Math.max(aa[i-2], aa[i-3]); (i>=4)
因为相邻的两个不能一起计算,所以最后还要比较最后一个和倒数第二个的大小以求出最优解
java 打劫_【JAVA算法题】职业抢劫相关推荐
- Java常见的面试算法题:实现两个线程交替打印1到100的数
Java常见的面试算法题:实现两个线程交替打印1到100的数 思路: 这是涉及到多个线程打印的问题,一定会用到锁的(synchronized),故这就是一个多线程打印的典型案例. 代码实现: pack ...
- java 独木桥_趣味算法——青蛙过河(JAVA)
青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动.在移动过程中,青蛙可以向 ...
- java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!
JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...
- 匈牙利算法java实现_匈牙利算法(Hungarian Algorithm)
匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法.换句话说就是,在可以接受的时间内去做匹配. 1. 描述问题 给定2个集合A和B,然后将AB中的元素完成一个连线.(这不就是小时候的连线题么 ...
- 神经网络算法 java 源代码_神经网络算法与实现 ——基于Java语言 代码实例
[实例简介] Neural Network Programming with Java_ ISBN 978-7-115-46093-6 [实例截图] [核心代码] NeuralNetworkProgr ...
- 递增的整数序列链表的插入_每日算法题 | 剑指offer 链表专题 (5)链表中倒数第k个节点...
点击上方"Jerry的算法和NLP",选择"星标"公众号 重磅干货,第一时间送达 题目 链表中倒数第k个节点 题目要求 输入一个链表的头结点,从尾到头反过来打印 ...
- 剪绳子 算法_[校招-算法题]动态规划
动态规划(Dynamic Programming)是面试中非常常见的一种算法,可以解决很多复杂问题. 核心算法: 定义状态:dp[i],一个数组,具体几维根据问题定. 状态转移方程:dp[i] = b ...
- python 笔试题 英方_经典算法题 :找字符串中的逆序对(百度笔试题)
脚本之家 你与百万开发者在一起 来自:百度研发工程师2015深圳笔试卷 编程题:给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对. 小贴士:返回上一级搜索"算法题& ...
- python人工智能面试题爱奇艺面试题_经典算法题:爱奇艺研发工程师算法笔试题...
A. 7 B. 6 C. 4 D. 5 4.对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为 A. (5,16,2,12)28(60,32,72) B. (2,5 ...
- python任务调度系统面试题_经典算法题 :任务调度算法(美团校招笔试题)
小贴士:返回上一级搜索"算法题"挑战更多题目. 备注: 1.不定期将从留言区选出认真答题的1名朋友,赠与书籍<算法详解(卷1)>一本(兑奖方法跟获奖者私下沟通) 请留言 ...
最新文章
- bos开发时,测试卡在登录界面解决
- springmvc二十二:annotation-driven标签
- 【PC工具】速度最快最好用的文件搜索工具:everything,更新文件内容搜索方法...
- linux系统监控:记录用户操作轨迹,谁动过服务器
- weblogic从入门到起飞!(weblogic安装、domain配置、管理控制台)(一)
- 用Windows组件库文件快速部署Visual C
- [转]关于支付宝API开发的一点心得
- ContextLoaderListener的作用详解
- maven配置testng_TestNG Maven Surefire插件配置
- 第1章 神经网络的思想
- Funcom Seeking Volunteer Mods - Part 3
- python os.path.splitext()的用法_Python中的os.path路径模块中的操作方法总结
- 毕业设计html旅游网站,毕业设计--旅游网站的设计与实现(论文)
- Delphi开发工具的使用
- 林彪-怎样当好一名师长
- 163邮箱苹果设置不成功_iphone手机,苹果手机如何登陆网易163邮箱
- 台式机dp接口_了解笔记本电脑的各种视频接口
- 关于移动端适配,你必须要知道的
- MFC求一元二次方程的根(三种情况:相同根,不同根,虚根)
- Windows10+ubuntu 双系统安装(针对联想小新air14)