首页 > TAG信息列表 > 排数

LeetCode386 字典序排数

LeetCode386 字典序排数 构造字典树,dfs遍历记录 class Solution: def lexicalOrder(self, n: int) -> List[int]: ans = [] def dfs(cur): if cur <= n: ans.append(cur) else: return

386. 字典序排数

难度中等395   给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。   示例 1: 输入:n = 13 输出:[1,10,11,12,13,2,3,4,5,6,7,8,9] 示例 2: 输入:n = 2 输出:[1,2] class Solution { public: vec

错排总结

错排数 错排数通项公式 : \(D_n = \sum_{i=0}^{n}\tbinom{n}{i}(-1)^i(n - i)! = \sum_{i=0}^{n}\frac{n!}{i!}(-1)^i\) 错排数递推公式 : \(D_n = (n-1)(D_{n-1} + D_{n-2})\) 定义一个数和一个位置冲突当且仅当这个数不能放到这个位置上。 考虑往第 \(n\) 位放数。有 \(n-1\) 种

[Leetcode]23.字典序排数

题目: 给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。 示例 1:输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]示例 2:输入:n = 2输出:[1,2]思想:实际上是一个树的遍历, 从1出发,我们将其放入数组中,扩大10倍,判断是

杂文: 日剧《轮到你了》第7集中的组合数学问题

不务正业系列 剧情是这样的,13个人,每人用一张纸写下了自己(如果有机会)最想杀死的那个人,然后放在一个盲盒里每人随机抽取一张。原本只是想玩个游戏,结果因为某种原因,成了真实事件——纸上的人一个接一个的被杀了。 第七集的末尾,女主与擅长数学的邻居讨论起这个问题,她们开始计算,每个人

P4161 [SCOI2009]游戏 素数筛 + 背包DP

题目描述 windy学会了一种游戏。 对于1到N这N个数字,都有唯一且不同的1到N的数字与之对应。 最开始windy把数字按顺序 1,2,3,……​ ,N写一排在纸上。 然后再在这一排下面写上它们对应的数字。 然后又在新的一排下面写上它们对应的数字。 如此反复,直到序列再次变为 \(1,2,3,……,N\) 。 如:

字典序排数( dfs)

题目连接: https://leetcode-cn.com/problems/lexicographical-numbers/ 题目大意: 给定一个整数 n, 返回从 1 到 n 的字典顺序。 例如, 给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。 请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000