原文:两则面试题(动态规划)

某幢大楼有 层。你手里有两颗一模一样的玻璃珠。当你拿着玻璃珠在某一层往下扔的时候,一定会有两个结果,玻璃珠碎了或者没碎。这幢大楼有个临界楼层。低于它的楼层,往下扔玻璃珠,玻璃珠不会碎,等于或高于它的楼层,扔下玻璃珠,玻璃珠一定会碎。玻璃珠碎了就不能再扔。现在让你设计一种方式,使得在该方式下,最坏的情况扔的次数比其他任何方式最坏的次数都少。也就是设计一种最有效的方式。 例如:有这样一种方式,第一次选 ...

2014-09-15 16:12 0 3100 推荐指数:

查看详情

this指向面试题两则

面试题1 三处的输出结果均为 undefined A 处执行结果 fn 的 this 指向为 window let 声明的变量不挂载在 window 对象上 输出结果为:window.len = undefined; B处的执行结果 say 函数 ...

Thu May 28 05:49:00 CST 2020 0 815
动态规划面试题(一):矩形覆盖

关于矩形覆盖面试题   之前已经在上一篇分治法面试题(一):矩形覆盖一文中给出了该问题的递归解法。但是上面的分析可以看出效率不高,主要是存在大量重复元素的计算。那么如何避免大量重复元素的计算呢?这里将给出几种解决方案。 关于动态规划   动态规划的思想与我们上篇探讨的分治法相似,也是通过组合 ...

Thu Jul 21 05:53:00 CST 2016 0 2296
经典面试题楼层丢鸡蛋问题的动态规划解法与数学解法

原题: 有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。 问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点? 注意:只有个鸡蛋。第一个鸡蛋碎了,第二个鸡蛋只能挨个楼层测试了。 动态规划解法 ...

Sun Jul 08 00:22:00 CST 2018 0 1737
动态规划试题

1、最长公共子序列、最长公共子串 最长公共子序列(Longest-Common-Subsequence,LCS) dp[i][j]:dp[i][j]表示长度分别为i和j的序列X和序列Y构成的LCS ...

Thu Nov 15 23:37:00 CST 2012 3 5069
算法初级面试题08——递归和动态规划的精髓、阶乘、汉诺塔、子序列和全排列、母牛问题、逆序栈、最小的路径和、数组累加成指定整数、背包问题

第八课主要介绍递归和动态规划 介绍递归和动态规划 暴力递归: 1,把问题转化为规模缩小了的同类问题的子问题 2,有明确的不需要继续进行递归的条件(base case) 3,有当得到了子问题的结果之后的决策过程 4,不记录每一个子问题的解 ...

Thu Feb 07 07:49:00 CST 2019 0 639
试题总结:贪心算法(或动态规划

概念: 当一个问题具有最优子结构性质时,可用动态规划算法,有时会有更简单有效的算法,那就是贪心算法,贪心算法是通过一系列的选择来得到问题的解,贪心算法并不从整体最优上加以考虑,所做的选择只是在某种意义上的局部最优解。但对范围相当广的许多问题能产生整体最优解。在一些情况下,即使贪心算法不能得到整体 ...

Wed Sep 11 19:27:00 CST 2019 0 416
动态规划题库

一、简单基础dp 这类dp主要是一些状态比较容易表示,转移方程比较好想,问题比较基本常见的。主要包括递推、背包、LIS(最长递增序列),LCS(最长公共子序列),下面针对这几种类型,推荐一下比较好的 ...

Wed May 09 02:25:00 CST 2018 0 938
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM