摘要: 给一串数字,在数字之间添加二元运算符 + - * ,使表达式的运算结果为 target ,输出所有可能的添加方式。 DFS:设共有 n 个数字,共有 n-1 个中间位置需要插入符号,插入的符号为: ''(0) '+'(1) '-'(2) '*'(3) 插入''(0)表示不插入数字,即相邻的数字组成更 阅读全文
posted @ 2020-03-09 15:46 betaa 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 如果按列从左向右放置皇后,需要用三个数组记录之前已经用过的行,主对角线,次对角线。 可以用状态压缩的方法简化问题。用三个数的二进制表示已经用过的行和两条对角线, LC52. N-Queens II 输出n皇后解的个数 class Solution { public: int cnt = 0; int 阅读全文
posted @ 2020-03-09 13:23 betaa 阅读(190) 评论(0) 推荐(0) 编辑
摘要: LC46. Permutations 给一个包含不重复元素的数组,返回所有不同的排列 分析:用dfs枚举,用一个数组 vis 记录某个元素是否已经被使用,使用的时候 vis[i] = 1 ,回溯的时候 vis[i] = 0 ,用 idx 记录当前排列要放数据的位置 class Solution { 阅读全文
posted @ 2020-03-09 09:44 betaa 阅读(191) 评论(0) 推荐(0) 编辑