自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 回溯+图leetcode417:

Problem: [417. 太平洋大西洋水流问题](https://leetcode.cn/problems/pacific-atlantic-water-flow/description/)

2023-08-30 21:09:53 48 1

原创 回溯FloodFilld问题leetcode79:

看到问题一脸懵,尝试用组合模板来解决,后来发现不行,想了想要在矩阵的特定节点做上下左右的移动,于是想到了加减坐标来移动,移动的情况一下再对字符串word做对比。1、首先确定递归出口,这道题的递归出口需要判断bool值于是需要两个递归出口,第一个是边界条件检查||是否越界||是否访问||是否等于预期值。>这儿遇到一个坑,当 i >= len(board) 或 j >= len(board[0]) 为 true 时,访问 visited[i][j] 或 board[i][j] 就会导致越界。

2023-08-30 10:46:13 40 1

原创 回溯leetcode216组合总数3:

Problem: [216. 组合总和 III](https://leetcode.cn/problems/combination-sum-iii/description/)

2023-08-29 16:56:53 40 1

原创 回溯组合Leetcode78:

这里有个坑,初始的时候我是声明了一个临时切片temp,让temp=paths了,输出(1,2)、(1,3)会被(1,4)覆盖掉,这是因为slice是引用类型,在回溯过程中,path 会不断地被修改和回溯,赋值给temp会直接影响temp的值。单层逻辑只需要把i逐层得加到paths就好了,但是递归得时候不应该是startIndex+1了,如果是startIndex+1得话就会造成字符重复使用,所以应该是i+1。后续就是paths滞空回溯就好。很容易能想到当paths的长度达到k的长度就可以可以处理逻辑了。

2023-08-29 10:30:50 35

原创 回溯算法排列组合leetcode39:

先画图,写出递归树:有点乱不好意思通过图可以观察到for循环从底从左往右遍历,然后递归深度。backtracking的设计应该是。

2023-08-28 23:43:37 26 1

原创 回溯切割131:IsPartitioned

首先还是画图,画图回溯递归树,然后通过 横向for循环遍历回文串的len(s),再通过递归遍历深度。接上文思路,按理来说应该是先切割回文串,然后再去切割ip地址。有深入浅还是比较简单的,这个是手敲出来的哈哈哈。上完整代码,回文串的具体业务逻辑还是比较简单的,不再赘述,如果疑问,评论区和私信都可以,有问必答友友们。1、递归条件:通过题意得知,当遍历当s的末尾的时候就可以处理当前字符串了。

2023-08-28 22:18:13 44 1

原创 回溯练习leetcode:93重构IP

正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。给定一个只包含数字的字符串s,用以表示一个 IP 地址,返回所有可能的,这些地址可以通过在s中插入'.'来形成。你重新排序或删除s中的任何数字。你可以按顺序返回答案。

2023-08-28 17:40:40 29 1

原创 回溯算法:

回溯

2023-08-28 16:45:13 36 1

原创 被算法暴捶的第一天-DFS

本人从接触算法至此的第一个大难题:DFS+回溯+动态规划、很多题都是一知半解,简单总结就是:讲题一听就懂,答案一看就会,自己写一瞅就懵。被树折磨到半夜做梦都是二叉上挂着水果,痛定思痛,潜心修炼。今天是暴打二叉树的第一天:先从二叉树的递归开始。我对递归的理解是:重中之重!!!!!不单单是树图这些结构,很多算法思想也用到了递归。由于我以为我在本科阶段深深的理解到了递归的本质,(此处大笑三声)直到被leetcode的树、图、回溯、分治、动态规划暴打才让我如梦初醒。(意思就是一题不会,尬笑)

2023-08-28 11:23:26 36 1

原创 初识别动态规划:leetcode-爬楼梯问题

但是递归问题会出现大量的重复计算,当n=10的时候会发现8计算了两次而7计算了三次,所以动态规划问题就是避免大量重复计算的问题。问题分析:跳n阶两种选择一种是从n-1层跳一层台阶,第二种是从n-2层跳两层。动态规划的核心思想:拆分子问题,记住过往,减少重复计算。状态转移方程:f(n)=f(n-1)+f(n-2)很明显最优子结构是f(n-1)+f(n-2),重叠子问题当然是f(3)=f(1)+f(2)爬楼梯:可以一次跳一个台阶,也可以一次跳两个台阶。边界当然是f(1)和f(2)分析问题后有如下代码。

2023-05-13 22:32:57 74 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除