数据结构和算法
数据结构和算法
全部文章
分类
读书笔记(1)
题解(70)
归档
标签
去牛客网
登录
/
注册
数据结构和算法的博客
关注微信公众号“数据结构和算法”,每日一题
TA的专栏
96篇文章
70人订阅
数据结构和算法
73篇文章
55670人学习
常见数据结构介绍
4篇文章
733人学习
【面试精华】各大厂算法面试真题
19篇文章
180人学习
全部文章
(共89篇)
【算法题】买卖股票的最好时机(一)
来自专栏
买卖股票的题大概有 6 道,可以使用动态规划全部解决,但这题是最简单的一道,如果使用动态规划,有点杀鸡用牛刀了,没必要。 这题说的是只能交易一次,求所获得的最大利润,也就是在最低价的时候买入,在后面最高价的时候卖出,我们可以使用一个变量 minV 来记录前面遍历过的最小值,这个最小值不是固定的,也是...
2025-04-17
1
36
【算法题】二叉树中的最大路径和
来自专栏
这题说的是找出二叉树的最大路径和,这里的最大路径不一定经过根节点,所以我们可以采用自下往上的遍历方式来计算, 对于当前节点: 如果它的两个子节点路径都是负的,就没必要选择了,因为如果是负数,越选择和就会越小,如下图中的第 1 种情况。 如果它的两个子节点路径一个是正的,一个是负的,我们只需要选择正...
2025-04-17
1
33
【算法题】二叉树根节点到叶子节点的所有路径和
来自专栏
这题说的是计算从根节点到叶子节点的所有路径和,实际上每一条从根节点到叶子节点都构成了一个数字,累加这些数字即可,这些数字只有在叶子节点才能累加,如下图所示。 public int sumNumbers(TreeNode root) { return dfs(root, 0...
2025-04-16
1
43
【算法题】链表中环的入口结点
来自专栏
这题要找出链表中环的入口,如果链表中没有环,则返回空。前面我们讲过《判断链表是否有环》,所以我们可以根据前面的解来判断链表是否有环,如果没环,自然就不可能有环的入口。如果有环我们再来找出环的入口,怎么找呢?如下图所示。 在相遇点快指针走过的距离是: a+c+(b+c)*m,其中 b+c 是环的周长...
2025-04-16
1
25
【算法题】判断链表中是否有环
来自专栏
这题让判断链表是否有环,我们可以使用两个指针从链表的头节点开始往后走,一个是慢指针每次只能走一步,一个是快指针,每次只能走两步。 如果链表没有环,如下图所示,最终快指针有可能会指向空,也有可能当快指针指向最后一个节点的话,就没法往后走了。 如果链表有环,无论是快指针还是慢指针都永远不可能指向空,...
2025-04-16
1
32
【算法题】重排链表
来自专栏
这题要求的是对链表重新排序,让原来:→→……→→ 的链表变成 →→→→→…… ,也就是链表后面的节点每隔一个插入到前面。 因为是单链表,没法从后往前遍历,我们可以先把链表的节点全部存储到一个栈中,然后再把栈中一半的节点插入到前面,步骤如下图所示。 public void reorderL...
2025-04-16
1
33
【算法题】大数加法
来自专栏
大数相加,也就是两个字符串相加,最后返回的还是字符串。我们知道整数相加是从个位开始加起的,字符串相加也要从个位加起,我们需要使用过 3 个变量: 一个是 i 指向第一个数字,一个是 j 指向第二个数字,还一个是 carry 表示进位的值。 刚开始的时候 i 和 j 分别指向字符串的最后一个字符,也就...
2025-04-16
1
52
【数据结构和算法】判断链表中是否有环-视频讲解
B站视频合集:https://www.bilibili.com/video/BV1za411n7Hf 解法一 public boolean hasCycle(ListNode head) { Set<ListNode> set = new HashSet<&...
链表
Java
2022-07-14
1
516
【数据结构和算法】最小花费爬楼梯
解法一 如果到第i个台阶,我们可以从第i-1个台阶跳一步上来,也可以从第i-2个台阶跳两步上来。哪个花费少我们就选择从哪个跳上来。我们定义dp[i]表示到第i个台阶需要的最小花费,那么我们可以得出递推公式 dp[i] = Math.min(dp[i - 2] + cost[i - 2], dp[i ...
Java
动态规划
跳台阶
2022-02-18
17
1415
【数据结构和算法】跳台阶扩展问题
解法一 这里的青蛙比前面两道题的青蛙更厉害一些,他一次可以跳1阶,2阶,3阶……。所以要想跳到第n个台阶,我们可以从第1个台阶跳上来,也可以从第2个台阶跳上来……,所以递推公式是 f(n)=f(n-1)+f(n-2)+……+f(2)+f(1); 同样如果我们想跳到第n-1个台阶,也可以列出下面这个...
Java
斐波那契数列
青蛙跳台阶
位运算
2022-02-18
21
1700
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页