![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
组合
文章平均质量分 57
yuzhang_zy
现在的我不是最好的我,未来的我才是最好的我,每一篇博客都记录着我的成长
展开
-
233 数字1的个数(组合数)
1. 问题描述:给定一个整数 n,计算所有小于等于n的非负整数中数字1出现的个数。示例 1:输入:n = 13输出:6示例 2:输入:n = 0输出:0提示:0 <= n <= 2 * 10 ^ 9来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number-of-digit-one2. 思路分析:这道题目其实是一个组合数的问题,我们需要计算0~n中数字中的所有1的数目,其实我们可以考虑当前数字n的原创 2021-05-15 16:37:20 · 460 阅读 · 0 评论 -
递推求解组合数Cxn
可以将数的集合分成两部分,分别是要当前的数字与不要当前的数字。计算Cxn,要当前的数字那么可以在剩下来的数字中选择n - 1个数的方案数,不要当前的当前的数字那么在剩下来的数字中选择n个数字,那么递推式为:Cxn = Cx-1n-1 + Cx-1n(x >= n),使用一个二维数组或者列表来记录递推过程的值即可,两重循环进行递推:if __name__ == '__main__': n = 15 f = [[0] * 15 for i in range(15)] for原创 2021-05-05 10:17:31 · 681 阅读 · 0 评论 -
蓝桥杯凑平方数(dfs-组合)
1. 问题描述:把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的。比如:0, 36, 5948721再比如:10985247361, 25, 63907840, 4, 289, 15376等等...注意,0可以作为独立的数字,但不能作为多位数字的开始。分组时,必须用完所有的数字,不能重复,不能遗漏。如果不计较小组内数据的先后顺序,请问有多少种不同的分组方案?输出输出一个整数表示答案来源:http://oj.ecustacm.cn/probl...原创 2021-04-17 16:13:44 · 481 阅读 · 0 评论 -
python求解x个数字选出n个数字的组合(递归)
有的时候需要在x个数字中选择出n个数字的需求(x大于等于n),这个时候我们可以使用递归来生成这些组合的方式,因为存在n个数字,所以n个数字中可以尝试填进去当前位置的数字,往下递归的时候递归的位置是加1的所以这样可以避免重复使用某个数字的情况,对于每个位置都是这样尝试可能的数字所以可以在for循环中进行递归:代码如下:from typing import Listres = 0# x,n表示在x个数字中选出n个数字的组合, nums表示原始的数字列表, index表示当前递归的位置,原创 2021-04-11 09:48:28 · 1093 阅读 · 0 评论 -
357 计算各个位数不同的数字个数(递归,组合)
1. 问题描述:给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10 ^ n 。示例:输入: 2输出: 91解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-numbers-with-unique-digits2. 思路分析:① 分析题目可以知道这道题目类似.原创 2021-04-04 20:21:00 · 806 阅读 · 0 评论 -
1010 总持续时间可被 60 整除的歌曲(字典映射、余数组合)
1. 问题描述:在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i 和 j 满足i < j 且有(time[i] + time[j]) % 60 == 0。示例 1:输入:[30,20,150,100,40]输出:3解释:这三对的总持续时间可被 60 整数:(time[0] = 30, time[2] = 150): 总持续时间 180(time[1] = 20, tim...原创 2020-10-10 15:52:57 · 1448 阅读 · 0 评论 -
1588 所有奇数长度子数组的和(前缀和、组合)
1. 问题描述:给你一个正整数数组arr,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr中 所有奇数长度子数组的和 。示例 1:输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 15我们将所有值求和得到 1 + 4 ...原创 2020-10-01 10:12:39 · 389 阅读 · 0 评论 -
477 汉明距离总和(位运算)
1. 问题描述:两个整数的汉明距离指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.注意:数组中元原创 2020-09-30 20:50:56 · 225 阅读 · 0 评论