
算法与数据结构入门(java)
新手必学的算法与数据结构,也是作者在准大一的算法学习流程,(想了解作者的学习算法过程可以根据时间来看发送的文章)。
听风客1
大一,冲acm。如果对我文章有不懂的地方,欢迎私信。qq群:493358287
展开
-
力扣1.两数之和(哈希表)
如果学了几个月算法力扣第一题还用暴力解法就要反思一下了。原创 2024-08-30 11:06:53 · 630 阅读 · 0 评论 -
力扣28.找出字符串中第一个匹配的下标
本题重要原创 2024-08-30 11:01:56 · 594 阅读 · 0 评论 -
力扣58.最后一个单词长度
本题重思维原创 2024-08-30 10:55:45 · 596 阅读 · 0 评论 -
力扣14.最长公共前缀
本题重要原创 2024-08-30 10:53:24 · 363 阅读 · 0 评论 -
力扣135.分发糖果
两次遍历原创 2024-08-30 10:41:24 · 423 阅读 · 0 评论 -
力扣134.加油站
贪心原创 2024-08-29 18:50:21 · 497 阅读 · 0 评论 -
力扣238.除自身以外数组的乘积
本题重思维原创 2024-08-28 21:30:54 · 322 阅读 · 0 评论 -
力扣380.O(1)时间的插入删除和获取随机元素
本题十分重要,变长数组+哈希表原创 2024-08-28 20:59:56 · 463 阅读 · 0 评论 -
力扣45.跳跃游戏II
正向贪心原创 2024-08-28 18:55:05 · 502 阅读 · 0 评论 -
力扣274.H指数
能想到排序就瞬间简单了原创 2024-08-28 18:34:50 · 274 阅读 · 0 评论 -
力扣122.买卖股票最佳时机II
贪心思想,一段时间的交易简化为相邻两个交易日的利润和原创 2024-08-27 17:04:04 · 341 阅读 · 0 评论 -
力扣162.寻找峰值
本题和力扣852.山脉数组峰值索引一样都是二分,可以照搬原创 2024-08-27 11:02:29 · 430 阅读 · 0 评论 -
力扣1143.最长公共子序列
动态规划原创 2024-08-24 20:03:50 · 374 阅读 · 0 评论 -
力扣691.贴纸拼词
贪心+记忆化搜索原创 2024-08-24 17:19:01 · 196 阅读 · 0 评论 -
力扣518.零钱兑换II
通过一题从暴力递归到记忆化搜索到动态规划到动态规划再优化。法4:优化动态规划原创 2024-08-23 23:04:13 · 153 阅读 · 0 评论 -
力扣518.零钱兑换II
通过一题从暴力递归到记忆化搜索到动态规划到动态规划再优化。法3:动态规划原创 2024-08-23 23:02:42 · 294 阅读 · 0 评论 -
力扣518.零钱兑换II
通过一题从暴力递归到记忆化搜索到动态规划到动态规划再优化。法2:记忆化搜索原创 2024-08-23 23:01:20 · 247 阅读 · 0 评论 -
力扣518.零钱兑换II
通过一题从暴力递归到记忆化搜索到动态规划到动态规划再优化。法1:暴力递归尝试原创 2024-08-23 22:58:31 · 232 阅读 · 0 评论 -
八大排序一些总结
总结了八大排序的使用原创 2024-08-23 19:14:56 · 431 阅读 · 0 评论 -
先手后手抓纸牌游戏
动态规划原创 2024-08-23 18:58:35 · 434 阅读 · 0 评论 -
转换字符串
规定1与A对应,2与B对应……那么一个数字字符串“111”可转为AAA,KA,AK给定一个字符串str,返回多少种转化结果。动态规划解法原创 2024-08-22 14:45:48 · 248 阅读 · 0 评论 -
经典背包问题动态规划
使用动态规划优化暴力递归解决背包问题原创 2024-08-22 11:00:57 · 354 阅读 · 0 评论 -
机器人走路问题优化解法
使用记忆化搜索对路径进行优化原创 2024-08-21 16:39:56 · 1086 阅读 · 0 评论 -
机器人走路的问题
常规解法原创 2024-08-21 16:24:01 · 665 阅读 · 0 评论 -
N皇后问题优化解法
使用位运算解决N皇后问题,优化了常数时间原创 2024-08-21 14:40:32 · 618 阅读 · 0 评论 -
N皇后问题
讲解了N皇后问题常规解法原创 2024-08-21 13:09:29 · 323 阅读 · 0 评论 -
范围上的尝试模型题1
先手后手的抓纸牌游戏(暴力递归)原创 2024-08-19 13:00:16 · 302 阅读 · 0 评论 -
从左往右的尝试模型题2
经典的背包问题(2种暴力递归解法)原创 2024-08-19 11:24:40 · 615 阅读 · 0 评论 -
从左往右的尝试模型题1
规定1与A对应,2与B对应……那么一个数字字符串“111”可转为AAA,KA,AK给定一个字符串str,返回多少种转化结果(暴力递归解法)原创 2024-08-19 10:29:55 · 213 阅读 · 0 评论 -
打印一个字符串全排列(不出现重复排列)
打印一个字符串全排列,不出现重复排列(递归实现)原创 2024-08-13 19:43:37 · 388 阅读 · 0 评论 -
打印一个字符串全排列
打印一个字符串全排列(递归实现)原创 2024-08-13 19:42:04 · 212 阅读 · 0 评论 -
打印一个字符串全部子序列(没有重复字面值)
打印一个字符串全部子序列(没有重复字面值)(递归解法)原创 2024-08-13 10:58:52 · 323 阅读 · 0 评论 -
打印一个字符串所有子序列
打印一个字符串所有子序列(递归解法)原创 2024-08-13 10:57:14 · 347 阅读 · 0 评论 -
逆序栈问题
逆序栈的递归实现,无申请额外数据结构原创 2024-08-12 18:56:30 · 232 阅读 · 0 评论 -
汉诺塔问题两种解法(暴力递归到抽象总结)
如何从六个嵌套递归找出本质,使代码简化更简洁易懂原创 2024-08-12 15:43:45 · 510 阅读 · 0 评论 -
堆优化后的dijkstra算法
/编号为多少的点那个点的结构是什么。//传进来二维数组,每行有三个值,分别为权重,from和to这三个属性代表了每个点的结构。//调整堆顶和堆末的元素,使其堆顶的元素被删去,堆末的元素来到新的堆顶。//如果节点在堆中的位置有记录那么这个节点就曾经进来过这个堆。//如果一个节点在堆上,就记录它的index。//如果图里没有to这个点,就新建。原创 2024-08-10 23:24:32 · 538 阅读 · 0 评论 -
dijkstra算法详解
/编号为多少的点那个点的结构是什么。//直接邻居,由自己出发能到达的点。//传进来二维数组,每行有三个值,分别为权重,from和to这三个属性代表了每个点的结构。//点上的值也就是编号。//如果图里没有from这个点,就新建。//如果图里没有to这个点,就新建。原创 2024-08-09 23:59:23 · 461 阅读 · 0 评论 -
图的最小生成树Prim算法
/编号为多少的点那个点的结构是什么。//如果已经考虑的边没有这个边,那么两个集合都要把这个边加进去。//传进来二维数组,每行有三个值,分别为权重,from和to这三个属性代表了每个点的结构。//如果边的另一端的点(解锁的点)的相邻边没有考虑,那么两个集合都要把这个边加进去。//根据权值排序,权值小的在左,权值大的在右。原创 2024-08-09 19:03:54 · 584 阅读 · 0 评论 -
图的最小生成树Kruskal算法
/ 存储图中的所有节点,键为节点值,值为节点对象。// 存储每个节点的父节点。// 邻接表,存储与该节点相连的其他节点。// 存储从该节点出发的边。// 获取起始节点和终止节点的对象。原创 2024-08-08 20:11:29 · 478 阅读 · 0 评论 -
图的拓扑排序
/编号为多少的点那个点的结构是什么。//把入度为零的邻居入度减少1(也可以理解为消除影响)添加进入度表中。//传进来二维数组,每行有三个值,分别为权重,from和to这三个属性代表了每个点的结构。//如果消除后入度为零,就添加进队列里。//key:某一个node value:剩余的入度。//将入度为零的点添加进result集合里。//如果点中有入度为零的就放进队列里。//剩余入度为零的点,才进这个队列。//放入每个点原始的入度。原创 2024-08-08 18:06:50 · 368 阅读 · 0 评论