1. 原理: 递归:函数自己调用自己 1 function fn() { 2 fn(); 3 } 4 fn();//会导致栈溢出 1 function fn() { 2 setTimeout(fn,0); 3 } 4 fn();//不会导致栈溢出 2. 代码实现: 3.时间复杂度: 空间复杂度: ...
分类:
编程语言 时间:
2021-06-28 19:12:32
阅读次数:
0
题目 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示 ...
分类:
其他好文 时间:
2021-06-28 19:08:38
阅读次数:
0
递归 public class MethodDemo09 { //2! 2*1 //3! 3*2*1 //5! 5*4*3*2*1 public static void main(String[] args) { MethodDemo09 demo09 = new MethodDemo09(); i ...
分类:
其他好文 时间:
2021-06-28 18:52:21
阅读次数:
0
递归找最小 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # ...
分类:
编程语言 时间:
2021-06-28 18:47:31
阅读次数:
0
leetCode29. 两数相除 题目描述 /** * 给定两个整数,被除数 dividend 和除数 divisor。 * 将两数相除,要求不使用乘法、除法和 mod 运算符。 * <p> * 返回被除数 dividend 除以除数 divisor 得到的商。 * <p> * 整数除法的结果应当截 ...
分类:
其他好文 时间:
2021-06-25 17:02:15
阅读次数:
0
tag:平衡树,二分 最优策略中一个点一定只选一次,否则只需要选最后一次就行了。 在确定取的点集后,按 \(t\) 从小到大取最优。 考虑 \(n^2\) 暴力,\(s\) 最大的那个一定出现在所有方案中,否则用它替换第一个点一定更优。(这里只是说明最大的一定出现,不代表它一定是第一个) 设最大的 ...
分类:
其他好文 时间:
2021-06-25 16:59:12
阅读次数:
0
贴上大佬的博客地址:https://labuladong.gitee.io/algo/2/18/20/ 这一部分总得来说比较简单,注意边界值的判断就行了。下面是贴上实际的代码 """ 翻转二叉树 https://leetcode-cn.com/problems/invert-binary-tree/ ...
分类:
其他好文 时间:
2021-06-25 16:45:06
阅读次数:
0
tag:构造 答案为no只有两种情况: 有一个颜色没有出现过 两个相邻的点同色 其他情况一定是yes。 具体构造方案为:每次找到一组连续 \(3\) 不同色的点,且中间那个点的颜色出现多于1次,然后将这个三角形切掉,继续递归处理。 这样一次操作之后显然是不会违反上述性质的。 代码实现可以使用一个数组 ...
分类:
其他好文 时间:
2021-06-24 18:35:50
阅读次数:
0
LeetCode22.括号生成 题目描述 /** * * 数字 n 代表生成括号的对数,请你设计一个函数, * 用于能够生成所有可能的并且 有效的 括号组合。 * */ 思路分析 生成括号,可以 使用深度优先+剪枝的方式,将有效的组合保存到集合中,将无效的组合剪枝 编写一个深度优先的递归函数,实现不 ...
分类:
其他好文 时间:
2021-06-24 18:03:10
阅读次数:
0
常见算法 算法与数据结构是面试考察的重中之重,也是日后刷题时需要着重训练的部分。 简单的总结一下,大约有这些内容: 算法 - Algorithms 1、排序算法:快速排序、归并排序、计数排序2、搜索算法:回溯、递归、剪枝技巧3、图论:最短路、最小生成树、网络流建模4、动态规划:背包问题、最长子序列、 ...
分类:
编程语言 时间:
2021-06-22 18:19:06
阅读次数:
0