数字键盘组合 "17. Letter Combinations of a Phone Number (Medium)" 题目描述: 根据给出的数字字符串,组成其对应手机电话键盘上的字母组合。 思路分析: 这种求字符串排列组合的问题,我们使用回溯的思想来 ...
分类:
其他好文 时间:
2019-06-30 20:29:11
阅读次数:
146
一. 八皇后问题 第一种解法将棋盘的所有格子都初始化为‘.’, 定义递归函数为前l-1行的格子已经排好(给定排面的情况下), 从第l层开始继续排得到的八皇后搜索结果。具体做法是从第l行的每一个列逐列尝试,如果不冲突则加入,再进行l+1的问题求解,求解完后进行回溯。空间复杂度为O(N*N) 第二种方法 ...
分类:
编程语言 时间:
2019-06-24 23:57:01
阅读次数:
270
心得:开始使用回溯,后来看答案想了下动态规划更简单, 以后在想递归的时候,先考虑一下动态规划。 首先化解子问题:f[x][y]代表到x,y这个坐标有多少种方法, 由于只能向右和向下,所以保证子问题互相独立,这个条件特别重要, 如果可以多方向,就不能用动态规划了, f[x][y]=f[x-1][y]+ ...
分类:
其他好文 时间:
2019-06-24 21:03:43
阅读次数:
76
商汤AI园区的n个路口(中等) 思路:设f(x,y)表示以x为根的子树,x点值为y时,且满足条件的方案数,那么状态转移很好想,就是dfs回溯到父亲结点时,枚举父亲结点的y值。f(x,y)父亲结点的方案数,就是对于每个儿子满足条件的方案数相乘,对于这题还需要一个优化,预处理gcd,提前得到每个数字已知 ...
分类:
其他好文 时间:
2019-06-24 10:50:50
阅读次数:
100
心得:使用字符串的方法的时候一定要知道如下 错误:str.substring(a,b) 正确:str.substring(a,b) 这道题没有用巧妙的方法,主要使用了回溯,回溯一定要掌握啊 感觉还是不透彻啊 ...
分类:
其他好文 时间:
2019-06-23 22:45:41
阅读次数:
152
递归:函数间接或者直接调用自己 递归分两个过程 1、往下调用,分解的过程 2、往上回溯,综合的过程 递归的条件: 一定要有结束的条件 例子:阶乘: 斐波那契数列: ...
分类:
编程语言 时间:
2019-06-23 17:29:18
阅读次数:
96
心得:这道题开始想的是剪枝和回溯,但是没想到思路,然后看题解 发现动态规划真的简单,从后往前看,遍历倒数第二个元素,如果他能到达 最后,这说明这个点能到达,遍历倒数第三个,如果这个点能到达第二个,那么他一定能 到达最后一个,问题规模逐渐缩小。 ...
分类:
其他好文 时间:
2019-06-22 20:06:12
阅读次数:
121
T1:Censoring 和以前kmp一样的一道题,只是改成了多个串需要AC自动机 用一个栈维护当前字符串,匹配上了就暴力弹栈,并将指针回溯,复杂度O(n+m) 这题考试的时候不知道怎么把栈给否掉了,用了个玄学方法记录,只干出来13分 T2:记忆的轮廓 概率期望,考试时候直接弃了(主要是无良老师数据 ...
分类:
其他好文 时间:
2019-06-17 11:10:57
阅读次数:
109
题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 思路: 利用回溯法循环(图为网络查找) ? 以abc为例: 开始循环,j=i=0,然后进入递归,j=i=1,i= ...
分类:
其他好文 时间:
2019-06-14 22:05:23
阅读次数:
136