![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
「已注销」
这个作者很懒,什么都没留下…
展开
-
回溯
回溯 我们可以从以下三个步骤考虑问题,首先是回溯的终止条件是什么,其次在当前我们可以选择什么,最后取消选择这个,因为需要回溯,换句话说某个值可以选择也可以不选择。 具体问题 全排列 public List<List<Integer>> permute(int[] arr) { List<List<Integer>> permutes = new ArrayList<>(); List<Integer> p原创 2020-11-21 18:00:59 · 2312 阅读 · 0 评论 -
最长的不包含重复字符的子字符串
文章目录1.题目2.分析3.code 1.题目 给定一个字符串求它的最长子字符串是多长,比如aaa,它的最长子字符串的长度是1,abca的最长子字符串的长度是3 input: abc output: 3 input: aaaa output: 1 2.分析 可以使用滑动窗口解决该题,子字符串的左边界(包含)为指针l,右边界为指针i(包含),长度为i-l+1,如何滑动窗口:有边界移动:遍历字符串,串口的右边界移动,左边界移动:在发现当前的字符已经在左边界和右边界的范围内,直接移动左指针,知道左右边界内不存原创 2020-11-11 16:04:23 · 78 阅读 · 0 评论 -
matt-广度优先遍历和深度优先遍历
文章目录1 广度优先遍历1.1 概念1.2图解1.3代码2.深度优先遍历2.1概念2.2图解2.3代码3例题3.1分析 1 广度优先遍历 1.1 概念 ①以初始节点V0作为第一层节点,接着访问它。 ②然后迭代第一层节点即V0,访问它相邻接的没有访问过的节点比如V1,V2,V1,V2加入到第二层节点 ③迭代第二层节点V1,V2,V1,V2依次访问相邻接的没有访问过的节点,重复上述步骤直至所有节点都被访问过为止。 1.2图解 如图所示首先访问根节点v0,并将v0加入到第一层。迭代第一层节点,和vo相邻接的没有原创 2020-08-04 15:17:17 · 229 阅读 · 0 评论