显而易见: Questions14 假如你在房间里被蒙着双眼,有人告诉你地板上有1000枚硬币。980枚硬币反面朝上,另外20枚正面朝上。你能不能把硬币分成两堆,以保证两堆硬币正面的数量相等?...假设你不能通过触摸硬币来进行正反面的判断,但是你可以翻转任意数量的硬币。 Answer14 假如我们把1000枚硬币分成两堆,一堆是n枚硬币,另一堆是1000-n枚硬币。...如果第一堆有m个正面朝上,那么第二堆一定有20-m枚硬币正面朝上。我们也知道在第一堆中有n-m枚硬币反面朝上,我们显然不能简单的通过调整n来保证m=10。 那么,我们应该怎么做呢?...所以,如果我们有选择的翻转硬币我们不能保证什么,但是如果我们把第一堆所有的硬币都翻转过去,所有的正面的变成了反面,所有的反面变成的正面。因此,它将有n-m枚正面和m枚反面(对称)。...那么: Questions17 你刚买了一只股票A想通过做空股票B来对冲。你应该做空多少B股来进行最小化的对冲?假设股票A收益的方差是σ2A ,股票B收益的方差是σ2B ,它们之间的相关系数是ρ 。
如果你能通过独特视角看待并解决商业难题,那么你就能从众多应聘者中脱颖而出。但是这种解决问题的能力不是一朝一夕得来的,需要有计划地训练和长期的坚持。 对我来说,解决谜题就像是脑力训练。...20个面试谜题 #1硬币口袋问题 你手里有10枚装满硬币的口袋。每个袋子里硬币的数量是无限的。但是其中一袋硬币全是假的,而你记不起来具体哪一袋是假的了。...(提供一台电子秤) 答案:称1次 将10个袋子编号1-10,从1号袋子取出1枚硬币,2号袋子取出2枚硬币,3号袋子取出3枚硬币……最后,你的手里会有55枚硬币(1+2+3+…+9+10)。...桌子上有50枚硬币,其中10枚背面朝上,40枚正面朝上。请将这50枚硬币分成两堆(不一定是两等分),使得每一堆硬币中有相同数量的硬币背面朝上。 答案: 将硬币分为两堆,一堆40枚,一堆10枚。...把10枚硬币的那一堆每一枚硬币都翻一面。 #4沙漏问题 你的手里有两个沙漏,一个计时4分钟的,一个计时7分钟的。
,只问最优值是多少,没有要我们求最优解,一般情况下可以用「动态规划」解决。...根据示例 1: 输入: coins = [1, 2, 5], amount = 11 凑成面值为 11 的最少硬币个数可以由以下三者的最小值得到: 凑成面值为 10 的最少硬币个数 + 面值为 1 的这一枚硬币...; int* dp = new int[amount+1]; // 因为我们要挨个求出凑出0元到amount元分别每一个需要的最少硬币数量, //因此一开始假设最少需要硬币数量为一个不可能的最大值...//尝试去拿一次每个面值的硬币,看看拿了之后,加上凑出amount-coin的值需要的最小硬币数是多少 //用res保存拿了其中某个面值的硬币后,得到的最少需要的硬币数 for (int coin...首先在编程中不像生活中一样,我给你一个钱包让你用最少的硬币数组成2元,并且此时我只给你1元硬币和2元硬币,你知道选2构成2。
在每一步操作中,玩家选择一枚正面朝上的硬币,移除该硬币,并翻转其相邻的两枚硬币。如果(在操作之前)只剩下两枚硬币,则一枚会被移除,另一枚不会被翻转(因为它将被翻转两次)。...每个测试用例的第二行包含一个长度为 n 的字符串 s,其中只包含 "U" 和 "D",表示每枚硬币是正面朝上还是背面朝上。...重新排列的得分是长度为 n 的(连续)子数组的数量,这些子数组是 [1, 2, ..., n] 的排列组合。你能得到的最高分是多少? 输入 每个测试包含多个测试用例。...保证所有测试用例中 n 的总和不超过 5 *10^5 。 输出 对于每个测试用例,输出一行包含一个整数的数据:你能得到的最大分数。...这个样例中数字1(6个)数字2(1个)数字3(8个),最少的是数字2,无论咋样组合,数字2只有一个,最多只能有两种组合(数字2左边组合,右边组合),那么我们有k枚金币,可以去买不同的数,那就要买这堆数里面最少的那个数
最大似然估计 假设当下我们有一枚硬币,我们想知道这枚硬币抛出去之后正面朝上的概率是多少,于是我们抛了10次硬币做了一个实验。发现其中正面朝上的次数是5次,反面朝上的次数也是5次。...于是我们可以带入二项分布的公式,算出10次抛掷之后,5次是正面结果在当前p参数下出现的概率是多少。 于是,我们可以得到这样一条曲线: ?...原本我们是希望通过最大似然估计来求解使得结果出现的p1和p2,现在我们直接假设,进行迭代: 我们假设p1=0.7,p2=0.3,这个值是我们随便假设的,你可以任意假设其他的值。...例子改进 我们来改进一下上面这个例子的计算过程,主要的问题在于我们在根据假设出来的概率计算分布之后,我们直接通过似然估计去猜测当前轮次抛了哪一枚硬币。...数学证明 假设我们有一个样本集X它是由m个样本构成的,可以写成,对于这m个样本当中,它们都有一个隐变量z是未知的。并且还有一个参数,也就是我们希望通过极大似然估计求解的参数。
到这里你会发现,10001的下一位是10101,如果我们去掉一半的数字,只看左侧,是什么?是100变成了101。 101的下一个数字是什么?当然是102,所以我们要求x小怎么求?...每个栈有 正整数 个带面值的硬币。 每一次操作中,你可以从任意一个栈的 顶部 取出 1 个硬币,从栈中移除它,并放入你的钱包里。...其次分析题意,我们要从n堆硬币当中拿若干枚。由于每一枚硬币的价值都大于0,并且k小于硬币的总数,所以k一定是要拿满的。其次硬币是罗列的,这意味着我们在同一列硬币当中拿取若干次,可以合并成拿取一次。...所以题意可以进行简化:有n列硬币,我们每次可以从任意一列当中拿取若干枚,保证最多拿取k枚的情况下,最多可以拿多少价值? 如果我们把硬币转化成商品,其实已经很明显了,这就是一个多重背包的问题。...但不管一样不一样都没关系,因为硬币排列在栈中,我们只能从上往下拿,拿取x枚的方法只有一种,我们只要计算总和就行。 熟悉背包问题,应该可以秒切。
C4~E中间只经过D8,路程数为2,即C4~E 的最短路程为2。...那么最少需要 3 枚硬币凑出,即 11 = 5 + 5 + 1。 2.2.2 分析问题 假设现有面值为 {1,5,10,21,25}的币种,需要找的零钱是 63(单位都是分)。...原理很简单,对于 11 分钱的零钱而言,可以先拿出一枚 1分的硬币,也可以先拿出一枚5分的硬币,或者是拿出一枚 10分的硬币,然后再计算剩下的钱需要找回多少硬币。...N个物品,每个物品有重量和价值两个属性。...其中第i个物品的重量为wt[i],价值为val[i],现在用这个背包装物品,最多能装的价值是多少? Tips: 题目中的物品不可以分割,要么装进包里,要么不装,不能切成两块装一半。
# LeetCode-322-零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。...,cn-1]:可选的n枚硬币面额值 这个问题有一个最优的子结构性质,这是解决动态规划问题的关键。最优解可以从其子问题的最优解构造出来。如何将问题分解成子问题?...假设我们知道F(S),即组成金额S最少的硬币数,最后一枚硬币的面值是C。...那么由于问题的最优子结构,转移方程应为: F(S)=F(S-C)+1 但我们不知道最后一枚硬币的面值是多少,所以我们需要枚举每个硬币面额值c0,c1,c2,...,cn-1并选择其中的最小值。...F(11) 3 //F(11)=min(F(11-1),F(11-2),F(11-5))+1=3 我们可以看到问题的答案是通过子问题的最优解得到的 例子2:假设 coins = [1,2,3],amount
Alice与Bob总是在进行各种各样的比试,今天他们在玩一个取石子的游戏。 在这个游戏中,Alice和Bob放置了N堆不同的石子,编号1..N,第i堆中有A[i]个石子。...假设每一轮游戏都是Alice先行动,请你判断在给定的情况下,如果双方都足够聪明,谁会获得胜利? 输入 第1行:1个整数N。表示石子堆数。...(以上来自百度百科) Nim游戏的形象具体论述: Nim取子游戏是由两个人面对若干堆硬币(或石子)进行的游戏。设有k>=1堆硬币,各堆分别含有N1,N2,……NK枚硬币。...如果游戏开始时只有一堆硬币,游戏人I则通过取走所有的硬币而获胜。现在设有2堆硬币,且硬币数量分别为N1和N2。游戏人取得胜利并不在于N1和N2的值具体是多少,而是取决于它们是否相等。设N1!...同样的道理,游戏人I也可以选择大小为9的堆并取走5枚硬币而剩下4枚,或者,游戏人I从大小为15的堆中取走13枚而留下2枚。
2、一堆硬币,每天都随便捡一枚抛,如果抛到正面,就把它翻过来;如果抛到反面,就再抛一下,问很长很长时间以后,硬币正面和反面的比例会趋近于多少?...,恰好抛了 N 次的概率是多少?...f(x) 是斐波那契数列,根据它的通项公式: 得到 f(N),也就得到了 g(N),而总抛的可能性共有 2^N 次方,因此,概率为: (f(N)+g(N))/2^N 4、抛硬币 N 次,出现连续...M 次正面的概率是多少?...这个问题也很常见,但是做起来没那么容易,这里有一个非常详细的讨论过程(链接),我就不搬过来了。 5、抛 N 次硬币,正反两面出现次数相同的概率是多少?
1.题目 难度:中 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。...---- 2.我的解答 思路: 看题目的问法,只问最优值是多少,没有要我们求最优解,可以通过动态规划来解决这个问题; 最优子结构其实比较明显,根据示例 1: 输入: coins = [1, 2, 5]..., amount = 11 凑成面值为 11 的最小硬币数可以由以下 3 者的最小值得到: 1、凑成面值为 10 的最小硬币数 + 面值为 1的这一枚硬币; 2、凑成面值为 9 的最小硬币数 +...面值为 2 的这一枚硬币; 3、凑成面值为 6 的最小硬币数 + 面值为 5 的这一枚硬币; 即:dp[11] = min (dp[10] + 1, dp[9] + 1, dp[6] + 1)。...第 1 步:定义「状态」 dp[i]:凑齐总价值i需要的最少硬币数,状态就是问的问题。
注意我们必须使用 nums 数组中的每一个数进行分组,并且分数不一定需要是整数。 返回我们所能得到的最大 分数 是多少。答案误差在 10 ^ -6 内被视为是正确的。...这样的分组得到的分数为 5 + 2 + 6 = 13, 但不是最大值....[m]; } }leetcode; 题目2 在二叉树中分配硬币 题目链接 题目大意: 给定一个有 N 个结点的二叉树的根结点 root,树中的每个结点上都对应有 node.val 枚硬币,并且总共有...N 枚硬币。...最直接的做法,我们可以枚举任意两个节点,这样的复杂度是O(N ^ 2); 但是这样效率太低,我们可以从左到右遍历,记录最小值和最大值,最终用最大值减去最小值就可以得到最大的差值,这样的复杂度是O(N)
题目 有 3n 堆数目不一的硬币,你和你的朋友们打算按以下方式分硬币: 每一轮中,你将会选出 任意 3 堆硬币(不一定连续)。 Alice 将会取走硬币数量最多的那一堆。...你将会取走硬币数量第二多的那一堆。 Bob 将会取走最后一堆。 重复这个过程,直到没有更多硬币。 给你一个整数数组 piles ,其中 piles[i] 是第 i 堆中硬币的数目。...示例 1: 输入:piles = [2,4,1,2,7,8] 输出:9 解释:选出 (2, 7, 8) , Alice 取走 8 枚硬币的那堆,你取走 7 枚硬币的那堆,Bob 取走最后一堆。...选出 (1, 2, 4) , Alice 取走 4 枚硬币的那堆,你取走 2 枚硬币的那堆,Bob 取走最后一堆。 你可以获得的最大硬币数目:7 + 2 = 9....考虑另外一种情况,如果选出的是 (1, 2, 8) 和 (2, 4, 7) , 你就只能得到 2 + 4 = 6 枚硬币,这不是最优解。
题目 有 3n 堆数目不一的硬币,你和你的朋友们打算按以下方式分硬币: 每一轮中,你将会选出 任意 3 堆硬币(不一定连续)。 Alice 将会取走硬币数量最多的那一堆。...你将会取走硬币数量第二多的那一堆。 Bob 将会取走最后一堆。 重复这个过程,直到没有更多硬币。 给你一个整数数组 piles ,其中 piles[i] 是第 i 堆中硬币的数目。...示例 1: 输入:piles = [2,4,1,2,7,8] 输出:9 解释:选出 (2, 7, 8) ,Alice 取走 8 枚硬币的那堆,你取走 7 枚硬币的那堆,Bob 取走最后一堆。...选出 (1, 2, 4) , Alice 取走 4 枚硬币的那堆,你取走 2 枚硬币的那堆,Bob 取走最后一堆。 你可以获得的最大硬币数目:7 + 2 = 9....考虑另外一种情况,如果选出的是 (1, 2, 8) 和 (2, 4, 7) ,你就只能得到 2 + 4 = 6 枚硬币,这不是最优解。
题目 有 3n 堆数目不一的硬币,你和你的朋友们打算按以下方式分硬币: 每一轮中,你将会选出 任意 3 堆硬币(不一定连续)。 Alice 将会取走硬币数量最多的那一堆。...你将会取走硬币数量第二多的那一堆。 Bob 将会取走最后一堆。 重复这个过程,直到没有更多硬币。 给你一个整数数组 piles ,其中 pilesi 是第 i 堆中硬币的数目。...示例 1: 输入:piles = [2,4,1,2,7,8] 输出:9 解释:选出 (2, 7, 8) ,Alice 取走 8 枚硬币的那堆,你取走 7 枚硬币的那堆,Bob 取走最后一堆。...选出 (1, 2, 4) , Alice 取走 4 枚硬币的那堆,你取走 2 枚硬币的那堆,Bob 取走最后一堆。 你可以获得的最大硬币数目:7 + 2 = 9....考虑另外一种情况,如果选出的是 (1, 2, 8) 和 (2, 4, 7) ,你就只能得到 2 + 4 = 6 枚硬币,这不是最优解。
似然函数理解: 以抛硬币为例,正常情况硬币出现正反面的概率都是0.5,假设你在不确定这枚硬币的材质、重量分布的情况下,需要判断其是否真的是均匀分布。...在这里我们假设这枚硬币有 的概率会正面朝上,有 的概率会反面朝上。...为了获得 的值,将硬币抛10次,H为正面,T为反面,得到一个正反序列 x = HHTTHTHHHH,此次实验满足二项分布,这个序列出现的概率为 ,我们根据一次简单的二项分布实验,得到了一个关于 ...因此,回到正题,我们要求的是误差出现概率 的最大值,那就做很多次实验,对误差出现概率累乘,得出似然函数,带入不同的 ,看 是多少时,出现的概率是最大的,即可确定 的值。...取对数以后会改变结果值,但不会改变结果的大小顺序。我们只关心 等于什么的时候,似然函数有最大值,不用管最大值是多少,即,不是求极值而是求极值点。注:此处log的底数为e。
NO.8 30枚面值不全相同的硬币摆成一排,甲、乙两个人轮流选择这排硬币的其中一端,并取走最外边的那枚硬币。如果你先取硬币,能保证得到的钱不会比对手少吗?...买主也不能把自己的锁送给卖主用。在几经周折后,买主终于得到了他心爱的花瓶。请问这花瓶是如何送到买主的手里的?...这些盒子被标上10便士、 15便士和20便士,但每个标签都是错误的。允许你从一个盒中拿出1枚硬币放在盒前,看到这枚硬币,你能否说出每个盒内装的东西呢?...而多出来的重量一定是出自1. 1克的那瓶。于是用m减去210,再除以1. 1-1=0. 1就可以得到对应1. 1克那瓶的编号 NO13....现在有3个盒子,分别装有如下物品,以及对应的价值如下: a 两枚银币 价值:20 b 两枚镍币 价值:10 c 一枚银币一枚镍币 价值: 15 我们只需要从 c 盒子中拿,如果出现银币,
独立事件的组合概率 等概率事件 计算一枚硬币两次投掷出正面的概率。 ...不等概率事件 假设硬币是不均匀的,每次投掷硬币后正面朝上的几率更大,P(H) = 60%,投掷一次硬币就是一个不等概率事件。...示例5 投掷三枚硬币, 恰好两枚正面朝上的概率? 至少有一次正面朝上的概率? 可以列出所有可能的结果:HHH, HHT, HTT, HTH, THH, THT, TTH, TTT。...先来看样本空间的样本数量,每次投掷硬币可以得到两种结果,投掷3次,根据乘法结合律可以得到2×2×2种结果。...对于问题2,相当于1减所有反面朝上的概率: ? 如果投掷10次硬币: ? 在n个独立事件中发生k个事件的概率 将上面的示例5扩展,投掷n个硬币,恰好有k个正面朝上: ?
只要投掷一枚骰子,我们得到的点数一定是这6个数字中的一个数字。样本空间包括试验中会发生的所有结果。 同时,一个事件也可能是不同事件的集合。...例如:假如你有一枚骰子,而且你只能投掷一次。 事件A = 得到的点数是3的倍数 事件B = 得到的点数是5的倍数 你期望事件A和事件B同时发生。...如果事件A不影响对事件B的发生,那么事件A和事件B就叫作独立事件。 我们来看一些独立事件的例子。 投掷一枚硬币,最终正面朝上;然后投掷一枚骰子,得到的点数是5。...从罐子里摸出一个球;然后投掷一枚硬币,正面朝上。 从一副扑克牌中摸出一张数字为3的扑克;将其替换掉,然后选一张A牌作为第二张纸牌。 投掷一枚骰子,得到的点数是4;然后再投掷一次骰子,得到的点数是1。...如果我们从装有4个红球和3个黑球的罐子中挑选出一个红球,同时我们投掷一枚硬币,如果是正面朝上,那么我们就赢了。赢的概率是多少呢? 我们把事件A定义为从罐子里摸出红球。
领取专属 10元无门槛券
手把手带您无忧上云