自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Pycharm在debug问题解决方案

Pycharm在debug时总是出现一些恼人的问题,以下是博主在训练中遇到的问题及在网上找到的可用解决方案:在代码处多设置几个断点即可。好像还有另一种原因,博主自己没遇到(希望之后也别遇到),先把解决方案贴在这里https://blog.csdn.net/qq_43391414/article/details/120688655在PyCharm,File->Setting->Build,Execution,Deployment->Python Debugger。把Gevent compatible勾选上即可

2023-11-27 15:28:13 702

原创 Anaconda深度学习环境配置命令参考

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2023-11-24 10:45:29 946

原创 【笔试真题记录】2023华为9.20机试第二题(DFS和BFS)

班级组织传球活动,男女同学随机排成m行n列队伍,第一列中的任意一个男同学都可以作为传球的起点,要求最终将球传到最后一列的任意一个男同学手里,求所有能够完成任务的传球路线中的最优路线(传球次数最少的路线)的传球次数。时间限制:C/C++100ms其他语言: 200ms内存限制: C/C++256MB,其他语言: 512MB。输入第一行包含两个用空格分开的整数m[1,30]和n [1,30],表示m行n列的队伍;班级同学随机排成的m行n列队伍,1代表男同学,0代表女同学。1.传球次数最少的路线为最优路线。

2023-09-20 21:59:18 1529

原创 【笔试真题记录】2023滴滴编程第二题

现在有n个由大写英文字符组成的字符串,且这些字符串不会互相包含,也不会相等。现在想知道有哪些字符串满足如下条件。设满足条件的字符串为S,存在其他的两个字符串拼接在一起后,能通过去除一个非空前缀和一个非空后缀变为字符串S。这两个用于拼接的字符串可以是同一个,也可以为S。第一行一个正整数m表示符合条件的字符串数量。接下来输出m行,每行一个由大写英文字符组成的字符串,表示这个字符串符合条件。按照字典序升序输出。第一行一个正整数n,表示字符串的个数。接下来n行,每行输入一个由大写英文字符组成的字符串。

2023-09-08 21:06:28 364

原创 【剑指offer刷题记录 java版】链表双指针

利用虚拟头节点可以简化链表的创建,创建时始终记得要有一个指针。链表的增删改可以通过虚拟头节点来统一。合并 k 个有序链表可以利用优先级队列来实现,流程是:先将所有链表的头节点传入优先级队列,没弹出一个就补上该链表的下一个元素,直至满足输出需求。

2023-06-29 10:54:58 174

原创 linux下unmount了移动硬盘之后,硬盘灯还是常亮并且硬盘还在一直转动

在ubuntu下卸载硬盘之后,硬盘灯仍然常亮,并且手摸移动硬盘的话能感觉的到一直在转动。在windows下卸载硬盘之后硬盘灯就不亮了,手摸也没有震动感。至此硬盘灯熄灭,可以安全拔出。

2023-06-28 16:57:28 744

原创 【剑指offer刷题记录 java版】数组双指针 之 其它题目

/判断字符是否是字母和数字 Character . isLetterOrDigit(c) //字符转化成小写 Character . toLowerCase(c) //反转字符串 stringbuilder . reverse()

2023-06-24 21:44:07 653

原创 【剑指offer刷题记录 java版】数组双指针 之 滑动窗口

滑动窗口要先扩张后收缩,即先移动右边指针,再移动左边指针。固定大小的窗口使用for循环遍历,窗口大小不固定时使用while遍历。

2023-06-16 10:46:22 184 1

原创 【剑指offer刷题记录 java版】数组双指针 之 二分搜索

二分查找建立在有序的和基础上,复杂度是O( log(n) )。

2023-06-13 11:57:01 385

原创 设计模式详解

总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。缺点:每次增加一个产

2023-06-10 13:43:09 1084

原创 JVM | 类加载过程,类加载器

类加载器是一个负责加载类的对象,用于实现类加载过程中的加载这一步。类加载器的主要作用就是加载 Java 类的字节码( .class 文件)到 JVM 中(在内存中生成一个代表该类的 Class 对象)。每个 Java 类都有一个引用指向加载它的 ClassLoader。数组类不是通过 ClassLoader 创建的(数组类没有对应的二进制字节流),是由 JVM 直接生成的。如果我们要自定义自己的类加载器,很明显需要继承 ClassLoader抽象类。:加载指定二进制名称的类,实现了双亲委派机制。

2023-06-08 10:10:56 535

原创 JVM | JVM垃圾回收

强引用,就是普通的对象引用关系,如 String s = new String(“ConstXiong”)软引用,用于维护一些可有可无的对象。只有在内存不足时,系统则会回收软引用对象,如果回收了软引用对象之后仍然没有足够的内存,才会抛出内存溢出异常。SoftReference实现弱引用,相比软引用来说,要更加无用一些,它拥有更短的生命周期,当JVM进行垃圾回收时,无论内存是否充足,都会回收被弱引用关联的对象。WeakReference实现虚引用是一种形同虚设的引用,在现实场景中用的不是很多,它。

2023-06-07 21:30:50 425

原创 JVM | Java内存区域

以上笔记基于JavaGuide整理。

2023-06-07 18:34:17 603

原创 尚硅谷JUC极速版笔记

进程:指在系统中正在运行的一个应用程序,进程是资源分配的最小单位线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程是程序执行的最小单位Lock 实现提供比使用 synchronized 方法和语句可以获得的更广泛的锁定操作。它们允许更灵活的结构化,可能具有完全不同的属性,并且可以支持多个相关联的对象 Condition。当在不同范围内发生锁定和解锁时,必须注意确保在锁定时执行的所有代码由 try-finally 或 try-catch 保护,以确保在必要时释放锁定。

2023-06-04 16:10:46 982

原创 代码随想录算法训练营day60 | 84.柱状图中最大的矩形

单调栈首先需要考虑栈内是递增还是递减,找左右第一个大于当前的元素用递增,找小于的用递减。第二步是考虑要入栈的元素、栈顶元素三种关系下的处理逻辑。如果要求两侧元素的话还需要考虑栈顶下一个元素,同时需要考虑首尾加0来处理边界问题。

2023-06-03 10:29:02 496

原创 代码随想录算法训练营day59 | 503.下一个更大元素II,42. 接雨水

1、环形问题可以用遍历两遍+索引求余的方法处理。2、用单调栈可以一次遍历就找出左右第一个比当前元素高/矮的值。3、单调栈相关题目一定要确定,栈口元素和当前遍历的元素三种大小关系(>,<,=)下的处理方案。

2023-06-02 13:59:13 237

原创 代码随想录算法训练营day58 | 739. 每日温度,496.下一个更大元素 I

1、单调栈存放的是数组下标,这样可以更方便的查询元素并获取距离。

2023-06-01 23:13:56 200

原创 代码随想录算法训练营day57 | 647. 回文子串,516.最长回文子序列,动态规划总结篇

1、dp数组(dp table)以及下标的含义2、递推公式3、dp数组初始化4、遍历顺序5、举例推导dp数组。

2023-05-31 14:38:35 234

原创 代码随想录算法训练营day56 | 583. 两个字符串的删除操作,72. 编辑距离,编辑距离总结篇

动态规划之编辑距离总结篇代码随想录算法训练营day52 | 300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数组代码随想录算法训练营day53 | 1143.最长公共子序列,1035.不相交的线,53. 最大子序和 动态规划代码随想录算法训练营day55 | 392.判断子序列,115.不同的子序列判断子序列只需要计算删除的情况,不用考虑增加和替换的情况,递推公式为:不同的子序列虽然也只有删除操作,不用考虑替换增加之类的,但可以重复匹配,递推公式变为:} else {

2023-05-30 09:57:54 209

原创 代码随想录算法训练营day55 | 392.判断子序列,115.不同的子序列

3、dp数组初始化:当t为空字符串时,s删除全部元素可获得t,因此dp[0][j]初始化为1,其余下标初始化为0.3、dp数组初始化:为简化初始化流程,将dp[i][0]和dp[0][j]都初始化为0,其余下标会被覆盖。4、遍历顺序:当前状态由前一状态推导而来,外层for正序遍历s,内层for正序遍历t。1、dp[i][j]定义:以i-1为结尾的t 在以 j-1为结尾的s 中出现的个数。1、dp[i][j]定义:以i-1结尾的s和以j-1结尾的t的相同子序列长度。

2023-05-28 23:59:03 213

原创 排序算法的时间复杂度、空间复杂度对比总结

参考:八大排序算法的稳定性和时间复杂度

2023-05-28 14:03:24 81

原创 代码随想录算法训练营day53 | 1143.最长公共子序列,1035.不相交的线,53. 最大子序和 动态规划

3、dp初始化:dp[0]没有实际意义,为保证递归,初始化为0,其余索引值都会在递归时被覆盖无需考虑。3、dp初始化:dp[i][0]和dp[0][j]没有实际意义,为保证递归,全部初始化为0。3、dp初始化:dp[i][0]和dp[0][j]没有实际意义,为保证递归,全部初始化为0。2、递归公式:dp[i]=nums[i-1]+Math.max(dp[i-1], 0);1、dp[i]含义:以nums[i-1]为结尾的最大连续子数组和。1、dp[i][j]含义:表示以text1从。4、遍历顺序:正向遍历。

2023-05-27 10:33:26 926

原创 代码随想录算法训练营day52 | 300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数组

1、子数组相关题目要从尾部元素去定义dp数组;2、两个不同序列比较时,递推公式需要考虑指针对齐的问题;3、718. 最长重复子数组中dp[i][j]表示索引为i-1和j-1处的最长公共子序列,可以简化初始化状态。

2023-05-26 15:00:44 906

原创 代码随想录算法训练营day51 | 309. 最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费,股票问题总结

121. 买卖股票的最佳时机,122.买卖股票的最佳时机II123.买卖股票的最佳时机III,188.买卖股票的最佳时机IV309. 最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费121.买卖股票的最佳时机只能买卖一次122.买卖股票的最佳时机II可以买卖多次123.买卖股票的最佳时机III至多可以买卖两次188.买卖股票的最佳时机IV至多可以买卖k次309.最佳买卖股票时机含冷冻期冷冻期不能买卖714.买卖股票的最佳时机含手续费可以买卖多次但每次交易需要支付手续费。

2023-05-25 09:55:38 414

原创 代码随想录算法训练营day50 | 123.买卖股票的最佳时机III,188.买卖股票的最佳时机IV

确定第i天有几个状态即可。这基础上可以空间优化,仅维护前一天的状态即可。

2023-05-24 12:09:14 424

原创 代码随想录算法训练营day49 | 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II

3、初始化dp:dp[0][0]=0;

2023-05-23 09:35:05 494

原创 代码随想录算法训练营day48 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III

对于环的问题,可以通过掐头,去尾转化成两个线性问题来解决。树形dp要想清楚dp[i]需要想清楚保留什么状态,以及递归逻辑。

2023-05-22 14:57:37 497

原创 代码随想录算法训练营day46 | 139.单词拆分 ,多重背包,背包问题总结篇!

教程视频:https://www.bilibili.com/video/BV1pd4y147Rh思路:1、dp[j]含义:是否可以拼接出至字符串的 i 个字符(本可以使用boolean数组,这里使用int数组0表示不可以,1表示可以)2、递推公式:3、dp数组初始化:为满足递推需要dp[0]=1;其余下标在迭代过程中会被判断,初始化为04、遍历顺序:每个单词可以使用多次,且输出结果与单词顺序有关,完全背包问题求排列。外层for循环正向遍历背包容量,内层for循环遍历物品。5、打印验证:解法二

2023-05-20 23:24:41 435

原创 代码随想录算法训练营day45 | 70. 爬楼梯 (进阶),322. 零钱兑换,279.完全平方数

4、遍历顺序:求的是完全背包的结果长度,组合和排列都可以,这里采用组合的求法。4、遍历顺序:求的是完全背包的结果长度,组合和排列都可以,这里采用组合的求法。:这是一个完全背包问题,其中 n 为背包容量,完全平方数为物品重量,求的是最少完全平方数的数量。2、递推公式:dp[j]=Math.min(dp[j],dp[j-coins[i]]+1);2、递推公式:dp[j]=Math.min(dp[j],dp[j-m[i]]+1);1、dp[j]定义:背包容量为 j 时使用的最少完全平方数的数量。

2023-05-19 10:02:45 441

原创 黑马Redis原理篇

Redis 通过一个叫做过期字典(可以看作是 hash 表)来保存数据过期的时间。惰性删除:不是在TTL到期后就立刻删除,而是在访问一个key的时候,检查该key的存活时间,如果已经过期才执行删除。这样对 CPU 最友好,但是可能会造成太多过期 key 没有被删除。定期删除:每隔一段时间抽取一批 key 执行删除过期 key 操作。并且,Redis 底层会通过限制删除操作执行的时长和频率来减少删除操作对 CPU 时间的影响。SLOW模式执行频率默认为10,每次不超过25ms。

2023-05-18 22:26:37 1702

原创 代码随想录算法训练营day44 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。完全背包问题遍历顺序很重要:如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。

2023-05-18 10:59:07 649

原创 代码随想录算法训练营day43 | 1049. 最后一块石头的重量 II ,494. 目标和,474.一和零,01背包问题总结

思路:尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就将本题化解成01背包问题了。此时背包容量是sum/2,物品重量和价值都等于数组中的每个数字。此时我们讲解了0-1背包的多种应用,纯 0 - 1 背包是求 给定背包容量 装满背包 的最大价值是多少。输出dp[dp.length-1];416.分割等和子集是求 给定背包容量,能不能装满这个背包。输出dp[sum/2] == sum/2;1049.最后一块石头的重量 II是求 给定背包容量,尽可能装,最多能装多少。

2023-05-17 15:02:19 518

原创 代码随想录算法训练营day42 | 01背包问题,你该了解这些!,01背包问题,你该了解这些! 滚动数组 , 416. 分割等和子集

重点掌握01 背包和完全背包即可。

2023-05-16 15:22:04 564

原创 黑马Redis笔记高级篇 | Redis最佳实践

推荐使用并行slot,spring封装好了。

2023-05-15 19:58:45 795

原创 代码随想录算法训练营day41 | 343. 整数拆分,96.不同的二叉搜索树

上述两题的递推公式都是需要使用for循环来确定的。需要想清楚for循环的范围进行合理剪枝。

2023-05-15 09:51:39 394

原创 代码随想录算法训练营day39 | 62.不同路径,63. 不同路径 II

2、递推公式:dp[i][j]=dp[i-1][j]+dp[i][j-1],(i,j)处遇到障碍则设置dp[i][j]为0。4、遍历顺序,dp[i][j]由dp[i-1][j]和dp[i][j-1]确定,因此行和列都需要正向遍历。4、遍历顺序,dp[i][j]由dp[i-1][j]和dp[i][j-1]确定,因此行和列都需要正向遍历。3、dp矩阵初始化,dp[i][0]=1 dp[0][i]=1 初始化横竖就可。2、递推公式:dp[i][j]=dp[i-1][j]+dp[i][j-1];

2023-05-13 23:51:53 411

原创 黑马Redis笔记高级篇 | 多级缓存

1、安装docker教程:黑马-Centos7安装Docker2、根据本章资料中【案例导入说明.md】启动mysql镜像,注意要先关闭本地的mysql服务,否则3306端口被占用,mysql镜像会启动失败。3、接下来完全按照【案例导入说明.md】导入按照【安装OpenResty】教程安装,云服务器记得打开配置文件中对应端口(8081)本地访问商品详情页时需要开启本地nginx,同时云服务器也要reload配置。3.4 查询Tomcat这里由于本人的OpenRes

2023-05-13 16:54:45 795

原创 代码随想录算法训练营day38 | 动态规划理论基础,509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯

掌握动态规划五步很重要,尤其是dp[i]含义和状态转移方程。

2023-05-12 15:44:19 194

原创 黑马Redis笔记高级篇 | 分布式缓存

RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录Redis停机时会执行一次RDB。(save命令由Redis主进程来执行RDB,会阻塞所有命令;bgsave命令则开启子进程执行RDB,是异步的,避免主进程受到影响)

2023-05-11 20:47:59 1416 2

原创 代码随想录算法训练营day37 | 738.单调递增的数字,968.监控二叉树

考虑叶子节点数量远大于根结点数量,省下的摄像头数量更多i,因此采用思路2。从后向前遍历,一旦前一个数大于后一个数(非递增情况),将前一位数减一,后一位及其之后的数全都变成9。大体思路就是从低到上,先给叶子节点父节点放个摄像头,然后隔两个节点放一个摄像头,直至到二叉树头结点。:为了保证叶子节点上层节点安装摄像头,空节点应该向上层返回状态2(本节点有覆盖)。:(注意0和2状态之和即为无摄像头状态,不需要在额外设置无摄像头状态)让叶子节点的父节点安摄像头,所用摄像头最少。2:本节点有覆盖(无摄像头)

2023-05-11 10:35:37 291 3

Springer-Word模板

Springer-Word模板

2023-06-08

空空如也

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

TA关注的人

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