摘要:
题目: 思路: 1 暴力 : 从每一个单元格出发 每次在下方 右方 新作一行一列进行判断是否满足条件 2 动态规划 : dp[i][j]由其上方、左方和左上方的三个相邻位置的dp值决定 当前位置的元素值等于三个相邻位置的元素中的最小值加 1 根据题目分析状态转移方程: dp(i, j)=min(dp 阅读全文
摘要:
(一)事务传播机制 7种 Required (默认): 如果当前没有事务,就新建一个事务,如果已存在一个事务中 加入到这个事务中,这是最常见的选择。 Supports : 支持当前事务,如果没有当前事务,就以非事务方法执行。 Mandatory : 中文翻译为强制,支持使用当前事务,如果当前事务不存 阅读全文
摘要:
题目: 思路: 递归 从每一个位置出发,向上下左右走 与目标数据进行对比 边界条件 是否越界 是否相等 注意: 走过的路不能走, 走过的路用 * 或其他非字母标记, 递归回来的时候记得 还原为原来的数据,否则回来时,一直会走false (一)代码 class Solution { public bo 阅读全文
摘要:
题目: 思路: 动态规划 拿到题目重要是分析这个 求 dp 数组的方程 也就是状态转移方程 还有就是注意边界 由题意分析 由于不可以在相邻的房屋闯入,所以在当前位置 n 房屋可盗窃的最大值, 要么就是 n-1房屋可盗窃的最大值, 要么就是 n-2 房屋可盗窃的最大值加上当前房屋的值,二者之间取最大值 阅读全文
摘要:
题目: 思路: 由题意分析可将问题转化为 数字排序 1 快速排序 2 双指针 (一) 代码 快速排序 (二) 代码 双指针 嘀嘀嘀 阅读全文
摘要:
题目: 思路: 递归+回溯 回溯模板 1 定义全局变量 2 for 循环 i 从传入的变量开始 3 add (添加) 4 递归方法 5 remove (add.size() - 1) (移除) (一) 代码 递归 + 回溯 千万不要在黎明到来的前一刻放弃 阅读全文
摘要:
题目: 思路: 1 由题意可分析 对于第一行 dp[0][j],或者第一列 dp[i][0],由于都是在边界,所以只能为 1 2 分析动态转移方程为 dp[m][n] = dp[m-1][n] + dp[m][n-1]; 3 两个for循环进行求值 返回 dp[m-1][n-1] 即可 (一) 代码 阅读全文
摘要:
题目: 求斐波那契数 思路: 1 递归 2 递归 + 动态规划 剪枝 (一)代码 递归 (二)代码 递归 + 动态规划 放平心态 一直进步 阅读全文
摘要:
题目: 思路: 1 将数字和字母的对应 放入hash表 key 存数字,value 存数字对应的字母 2 使用队列 先将一个数字对应的字符入队, 出队跟下一个字符逐个匹配链接,再入队 (一)代码 class Solution { public List<String> letterCombinati 阅读全文