- 博客(34)
- 收藏
- 关注
原创 算法刷题Day27:BM65 最长公共子序列(二)
使用二维dp数组,元素dp[i][j]表示s2的前i个字符和s1的前j个字符的最长公共子序列长度。
2025-01-24 12:58:10
410
原创 (补)算法刷题Day26:BM63 跳台阶
描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。数据范围:1≤n≤40要求:时间复杂度:O(n) ,空间复杂度: O(1)
2024-12-26 14:50:00
261
原创 (补)算法刷题Day25:BM62 斐波那契数列
动态规划:改进方法三,由于每个值都只需要知道前两个状态值,因此使用两个整数记录对应的值即可,可降低空间复杂度。动态规划:for循环 + 使用一个数组记录对应的值。有记忆的递归:使用memo数组记录之前计算过的值。
2024-12-24 20:03:35
482
原创 (补)算法刷题Day24: BM61 矩阵最长递增路径
题目链接思路方法一:dfs暴力回溯使用原始used数组+4个方向遍历框架 =, 全局添加一个最大值判断最大的路径长度。方法二:加上dp数组记忆的优雅回溯抛弃掉used数组,使用dp数组来记忆遍历过的节点的最长递增路径长度。每遍历到已经记录过的坐标,就直接返回即可。方法一代码import copymax_result_len = -1result = []direct = [(-1, 0), (1, 0), (0, -1), (0, 1)]def dfs(matrix, used,
2024-12-23 19:30:46
473
原创 算法刷题Day22:BM57 岛屿数量
描述:给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。岛屿: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。例如:输入对应的输出为3(注:存储的01数据其实是字符’0’,‘1’)
2024-12-17 23:29:00
397
1
原创 (补)算法刷题Day21:BM58 字符串的排列
描述输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。要求:空间复杂度 O(n!) 时间复杂度 O(n!
2024-12-17 23:21:10
277
1
原创 (补)算法刷题Day19:BM55 没有重复项数字的全排列
给出一组数字,返回该组数字的所有排列例如:[1,2,3]的所有排列如下(以数字在数组中的位置靠前为优先级,按字典序排列输出。
2024-12-15 20:09:55
461
原创 (补)算法刷题Day17:BM40 重建二叉树
中左右,左中右,这个左的个数是一样的。所以可以根据左中右,算出左的长度。那前序就可以根据这个长度一分为二。然后转换为左右子树子问题。前序确定当前子树的根节点,中序则从根节点一分为二,根节点左边为左子树,根节点右边为右子树。转换为子问题,使用递归。
2024-12-13 23:32:42
313
原创 算法刷题Day15: BM37 二叉搜索树的最近公共祖先
描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。1.对于该题的最近的公共祖先定义:对于有根树T的两个节点p、q,最近公共祖先LCA(T,p,q)表示一个节点x,满足x是p和q的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先.2.二叉搜索树是若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值3.所有节点的值都是唯一的。4.p、q 为不同节点且均存在于给定的二叉搜索树中。
2024-12-10 21:06:30
290
2
原创 算法刷题Day12: BM34 判断是不是二叉搜索树
描述给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。二叉搜索树满足每个节点的左子树上的所有节点均小于当前节点且右子树上的所有节点均大于当前节点。
2024-12-07 23:18:10
401
2
原创 算法刷题Day10:BM32 合并二叉树
今天早上7点半的闹钟,和自己商谈了半小时,最后终于起来了,棒棒棒。其实我的专注时间是在早上,到了下午人就昏昏沉沉的,效率很低,所以早起高效干事情,然后下午睡觉嘿嘿嘿。做自己认为正确且适合自己的事情,而不是他人认为正确却只适合他自己的事情。使用递归,同步遍历两颗数,如果有其中一颗树不为空,则继续遍历,直到两个树的节点都为空,则返回。一其中一颗树为根基,更新节点的左右子节点。(这个好难组织逻辑啊,看代码比较好懂一些)
2024-12-05 09:51:59
483
2
原创 算法预刷题Day9:BM28 二叉树的最大深度
描述求给定二叉树的最大深度,深度是指树的根节点到任一叶子节点路径上节点的数量。最大深度是所有叶子节点的深度的最大值。(注:叶子节点是指没有子节点的节点。
2024-12-03 19:34:28
279
原创 算法刷题Day8:BM30 二叉搜索树与双向链表
芜湖,明天要去玩了,顺便把明天的卡也做了。经前综合征在我26岁的时候,爆发到了极值。怎么感觉除了经期,其他时期也稍微就正常一点,经常忘事,和导师吐槽了一下自己的记忆力,然后导师安慰我说:这是正常~ 本科期间丢了7张校卡,总是忘记哈哈哈,短期记忆是真的不行。当然,记忆力这是可以锻炼的,或者拿本本记下来。off course,当忘记事情的时候,也不要过于责怪自己。对二叉搜索树进行中序遍历,结果就是按序数组。因此想办法把前面遍历过的节点给记下来,记作。
2024-12-03 19:30:52
311
原创 算法刷题Day7: 二叉树前中后遍历
推荐一首歌ROSE的 number one girl。敏感脆弱不代表你不好,别人的评价也只是别人的主观想法,不要再被过去的恶魔继续缠绕自己,快把它打走!今天让我水一天吧,凭着手指的记忆,脑子都没怎么动,就三行代码,也不用动脑子吧嘿嘿嘿。labuladong的博文,写的很详细。只是访问节点值的位置不一样,其他都一样。
2024-12-02 21:45:06
344
2
原创 算法刷题Day6:BM53 缺失的第一个正整数
描述给定一个无重复元素的整数数组nums,请你找出其中没有出现的最小的正整数。要求空间复杂度O(1), 时间复杂度O(n)
2024-12-01 22:38:18
282
2
原创 算法刷题Day5: BM52 数组中只出现一次的两个数字
)小妙招:使用字典的函数可以轻松将字典不存在的值设置为初始值0。基础知识: 使用获取key值,无就会返回None。
2024-12-01 12:08:37
549
2
原创 算法刷题Day4:BM49 表达式求值
*思路:**使用两个栈,一个数字栈用来存数字,一个符号栈用来存操作符。然后根据操作符优先级进行压栈出栈操作。当操作符优先级高于栈顶元素,则直接压栈,当操作符优先级低于栈顶元素,则先计算栈顶元素。可以封装成一个函数。明天请教一下gpt先蟹 ,下班!数据范围:0≤∣s∣≤1000≤∣s∣≤100,保证计算结果始终在整型范围内。值得表扬的点:用了正则表达式分割字符串,正则我的神!不然我就是使用原始的一堆。请写一个整数计算器,支持加减乘三种运算和括号。要求:空间复杂度:O(n),时间复杂度O(n)
2024-11-29 23:31:46
544
2
原创 算法刷题Day3
如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。Insert()方法使用插入排序,数据流一个一个插入嘛。代码其实给的不是很清楚,没有指明数据流的数组如何设置和获取。
2024-11-29 00:40:51
244
1
原创 算法刷题Day2
当元素位置小于k-1时,只需要对右边尽行快排。当元素位置大于k-1的时候,只需要对左边进行快排。时间复杂度为O(nlogn),空间复杂度为O(1)。写一个快排把自己写急了,各种的细节错误,建议变量名还是不能用单个字母表示啦。今天就到这里吧,复习个快排呜。利用快速排序的二分特点:每次都会确定一个元素的位置。因此,当确定元素位置为k-1时,即为第K大的数。所在的位置,从左往右找比。
2024-11-27 16:52:56
213
原创 Anaconda安装包时,Solving environment: \一直在转
解决方案:把C:\Users\Administrator下的.condarc中的-default删除掉
2021-03-05 10:27:19
18022
2
原创 解决java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
mysql8.0.19mysql-connector-java-8.0.20.jarIntelliJ IDEA 2020.1.1 (Ultimate Edition)import java.sql.Connection;import java.sql.DriverManager;public class DBConnection { // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL private static final String Driver =
2020-05-17 17:01:15
60738
12
原创 JSP 连接数据库 之mysql和mysql-connector-java版本与配置坑
useSSL=false&serverTimezone=UTC
2020-05-12 11:40:43
500
原创 深度学习入门1个月log#1 学习步骤+搭建tensorflow环境+知识点总结
深度学习入门[\1]作为一个计算机专业的纯小白,现大二暑假,准大三的孩子。在大一暑假参加过(很shui的)机器人比赛就喜欢上robot了,决定走上AI道路。结果由于入门不正确,导致一开始就心灰意冷的感jio。笔者第一次入门是通过paddlepaddle来入门的,但问题是,由于paddlepaddle入门教程很少,真的很难入门。[\2]但这个暑假,用了一个月时间,笔者成功入门了!不啰嗦了...
2019-08-04 21:01:00
418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅