技术栈
回溯
ValhallaCoder
11 天前
数据结构
·
python
·
算法
·
回溯
hot100-回溯II
22. 括号生成 - 力扣(LeetCode)79. 单词搜索 - 力扣(LeetCode)(i,j,k) 表示判断以网格的 (i,j) 位置出发,能否搜索到单词 word[k..],其中 word[k..] 表示字符串 word 从第 k 个字符开始的后缀子串。如果能搜索到,则返回 true,反之返回 false。 对每一个位置 (i,j) 都调用函数k(i,j,0) 进行检查:只要有一处返回 true,就说明网格中能够找到相应的单词。【visited是为了防重复】
少许极端
18 天前
算法
·
深度优先
·
剪枝
·
回溯
·
递归
算法奇妙屋(二十九)-递归、回溯与剪枝的综合问题 2
组合是对顺序不敏感的, 即(1,2)和(2,1)相等这道题相信大家应该很眼熟, 在算法奇妙屋(二十二)-01背包问题(动态规划)这篇文章中讲过动态规划的解法
I_LPL
19 天前
算法
·
回溯
·
hot100
·
求职面试
·
n皇后
·
解数独
day26 代码随想录算法训练营 回溯专题5
N皇后 51. N 皇后 - 力扣(LeetCode)解数独 37. 解数独 - 力扣(LeetCode)
老鼠只爱大米
20 天前
算法
·
leetcode
·
动态规划
·
回溯
·
位运算
·
子集
LeetCode经典算法面试题 #78:子集(回溯法、迭代法、动态规划等多种实现方案详细解析)
给你一个整数数组 nums,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按 任意顺序 返回解集。
少许极端
20 天前
java
·
算法
·
深度优先
·
剪枝
·
回溯
·
递归
算法奇妙屋(二十八)-递归、回溯与剪枝的综合问题 1
先找各个子集, 再求每个子集的异或结果, 最后相加该题目最重要的点就是, 有效符号的定义: 1. 左右括号数量相等 2. 从头开始遍历的括号字符串中, 左括号数 ≥ 右括号数
老鼠只爱大米
20 天前
算法
·
leetcode
·
剪枝
·
回溯
·
全排列
·
stj算法
LeetCode经典算法面试题 #46:全排列(回溯、交换、剪枝等五种实现方案详细解析)
全排列问题是计算机科学和算法领域的一个经典问题。给定一个不含重复数字的整数数组 nums,返回其所有可能的全排列,可以按任意顺序返回答案。
少许极端
1 个月前
算法
·
剪枝
·
回溯
·
递归
算法奇妙屋(二十七)-全排列与子集问题
题目为高中学习过的全排列, 注意这里每个数字都是不重复的子集本身就是一个集合, 空集是所有集合的子集, 这里所有元素是无序的
程序员-King.
1 个月前
算法
·
leetcode
·
深度优先
·
回溯
·
递归
day158—回溯—全排列(LeetCode-46)
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:
程序员-King.
1 个月前
c++
·
算法
·
leetcode
·
深度优先
·
回溯
·
递归
day159—动态规划—打家劫舍(LeetCode-198)
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
程序员-King.
1 个月前
算法
·
leetcode
·
回溯
day157—回溯—括号生成(LeetCode-22)
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:
不穿格子的程序员
1 个月前
算法
·
深度优先
·
回溯
从零开始写算法——回溯篇3:括号生成 + 单词搜索
回溯算法(DFS)是算法面试中的重难点。很多同学觉得它难,是因为分不清什么时候该“恢复现场”,什么时候该“标记状态”。
程序员-King.
1 个月前
算法
·
leetcode
·
深度优先
·
回溯
day154—回溯—分割回文串(LeetCode-131)
给你一个字符串 s,请你将 s 分割成一些 子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。
程序员-King.
1 个月前
算法
·
leetcode
·
回溯
day155—回溯—组合(LeetCode-77)
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。
程序员-King.
1 个月前
算法
·
leetcode
·
回溯
day156—回溯—组合总和(LeetCode-216)
找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。
程序员-King.
1 个月前
算法
·
leetcode
·
回溯
·
递归
day153—回溯—子集(LeetCode-78)
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
不穿格子的程序员
1 个月前
算法
·
深度优先
·
回溯
从零开始写算法——回溯篇2:电话号码的字母组合 + 组合总和
在之前的文章中,我们讨论了“全排列”和“子集”的区别。今天我们把难度稍微提升一点,看看在更复杂的场景下,如何灵活运用 “答案视角” 和 “输入视角” 来解题。
BLSxiaopanlaile
1 个月前
数据结构
·
算法
·
剪枝
·
回溯
·
分解
关于子集和问题的几种解法
这几个子集和问题还蛮典型的,是使用回溯法的经典例题,有好几种做法,在此总结记录一下。leecode 39
不穿格子的程序员
1 个月前
算法
·
leetcode
·
深度优先
·
回溯
从零开始写算法——回溯篇1:全排列 + 子集
在回溯算法(Backtracking)的学习中,我们经常会听到两个概念:“输入视角”和“答案视角”。很多时候代码写不出来,不是因为逻辑没想通,而是因为这两种视角在脑海里打架。今天我们通过两道最经典的题目——全排列(LeetCode 46)和子集(LeetCode 78),来彻底搞懂这两种思维模式的区别,并分析它们的时空复杂度。
Dream it possible!
2 个月前
c++
·
leetcode
·
面试
·
回溯
LeetCode 面试经典 150_回溯_单词搜索(104_79_C++_中等)
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
长安er
2 个月前
算法
·
leetcode
·
二叉树
·
动态规划
·
回溯
LeetCode 124/543 树形DP
目录一、题目 1:二叉树中的最大路径和(LeetCode 124)1. 题目描述2. 核心思想(树形 DP)