摘要: 算法题目1:【Mid】47. 全排列 II 思路分析: 将原问题转换成子问题,先不考虑重复元素,例如 P{1,2,3} = {"1" + P{2,3}, "2" + P{1,3}, "3" + P{1,2}}。之后再考虑重复元素。 怎么枚举?枚举每个位置可以填哪些数。【这种枚举方式能保证字典序,除此 阅读全文
posted @ 2023-05-17 21:46 编程爱好者-java 阅读(14) 评论(0) 推荐(0) 编辑
摘要: LeetCode 662. 二叉树最大宽度 思路:节点编号 + BFS。时间复杂度:O(n),空间复杂度:O(n) 利用完全二叉树(以及堆的顺序存储)编号的规则,根节点编号为1,左孩子是2,右孩子是3. 对于任意一个节点,如果它的编号是i, 那么它的左孩子的编号是2*i, 右孩子的编号是2*i + 阅读全文
posted @ 2023-05-17 21:45 编程爱好者-java 阅读(13) 评论(0) 推荐(0) 编辑