模版网站,网站怎么做伪静态处理,邢台制作,动漫制作专业升本能报的专业题型一#xff1a;排列、组合、子集相关问题
提示#xff1a;这部分练习可以帮助我们熟悉「回溯算法」的一些概念和通用的解题思路。解题的步骤是#xff1a;先画图#xff0c;再编码。去思考可以剪枝的条件#xff0c; 为什么有的时候用 used 数组#xff0c;有的时候设…题型一排列、组合、子集相关问题
提示这部分练习可以帮助我们熟悉「回溯算法」的一些概念和通用的解题思路。解题的步骤是先画图再编码。去思考可以剪枝的条件 为什么有的时候用 used 数组有的时候设置搜索起点 begin 变量理解状态变量设计的想法。
46. 全排列中等47. 全排列 II中等思考为什么造成了重复如何在搜索之前就判断这一支会产生重复39. 组合总和中等40. 组合总和 II中等77. 组合中等78. 子集中等90. 子集 II中等剪枝技巧同 47 题、39 题、40 题60. 第 k 个排列中等利用了剪枝的思想减去了大量枝叶直接来到需要的叶子结点93. 复原 IP 地址中等
题型二Flood Fill
提示Flood 是「洪水」的意思Flood Fill 直译是「泛洪填充」的意思体现了洪水能够从一点开始迅速填满当前位置附近的地势低的区域。类似的应用还有PS 软件中的「点一下把这一片区域的颜色都替换掉」扫雷游戏「点一下打开一大片没有雷的区域」。
下面这几个问题思想不难但是初学的时候代码很不容易写对并且也很难调试。我们的建议是多写几遍忘记了就再写一次参考规范的编写实现设置 visited 数组设置方向数组抽取私有方法把代码写对。
733. 图像渲染Flood Fill中等200. 岛屿数量中等130. 被围绕的区域中等79. 单词搜索中等
说明以上问题都不建议修改输入数据设置 visited 数组是标准的做法。可能会遇到参数很多是不是都可以写成成员变量的问题面试中拿不准的记得问一下面试官
题型三字符串中的回溯问题
提示字符串的问题的特殊之处在于字符串的拼接生成新对象因此在这一类问题上没有显示「回溯」的过程但是如果使用 StringBuilder 拼接字符串就另当别论。 在这里把它们单独作为一个题型是希望朋友们能够注意到这个非常细节的地方。
17. 电话号码的字母组合中等题解784. 字母大小写全排列中等22. 括号生成中等 这道题广度优先遍历也很好写可以通过这个问题理解一下为什么回溯算法都是深度优先遍历并且都用递归来写。
题型四游戏问题
回溯算法是早期简单的人工智能有些教程把回溯叫做暴力搜索但回溯没有那么暴力回溯是有方向地搜索。「力扣」上有一些简单的游戏类问题解决它们有一定的难度大家可以尝试一下。
51. N 皇后困难其实就是全排列问题注意设计清楚状态变量在遍历的时候需要记住一些信息空间换时间37. 解数独困难思路同「N 皇后问题」488. 祖玛游戏困难529. 扫雷游戏困难