自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划(四)子序列、编辑距离

子序列、编辑距离

2023-06-08 18:33:02 142

原创 动态规划(三)打家劫舍和股票问题

注意:本题因为一只股票可以买卖多次,所以当第i天买入股票的时候,所持有的现金可能有之前买卖过的利润。122.买卖股票的最佳时机II,卖出时加上手续费即可。,然后分别调用打家劫舍1的代码,最后返回两者的最大值。取最左最小值,取最右最大值。思路:分为两种情况,

2023-06-05 23:58:34 95

原创 动态规划(二)背包问题

01背包、完全背包、多重背包、混合背包

2023-06-04 19:22:46 331

原创 算法设计题

一些设计题的实现

2023-03-25 16:09:14 67

原创 贪心算法思想

局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。贪心算法局部最优解:每次取最大跳跃步数(取最大覆盖范围),整体最优解:最后得到整体最大覆盖范围,看是否能到终点。贪心没有固定的模板,一般能够从局部最优推出全局最优,且想不出反例,就可以尝试写代码。局部最优的情况下,并记录最大的“连续和”,可以推出全局最优。最终利润是可以分解的,把利润分解为每天为单位的维度。局部最优:收集每天的正利润,全局最优:求得最大利润。贪心的是最大覆盖范围。

2023-03-25 16:06:06 156

原创 单调栈解法

单调栈

2023-03-21 08:28:47 44

原创 回溯专题(组合、分割、子集、排列、棋盘)

回溯

2023-03-13 08:32:36 70

原创 day 22 & 23 二叉搜索树

递归解法一:用返回值,插入元素递归解法二:不用返回值,外层记录父节点,在递归出口处插入迭代解法450.删除二叉搜索树中的节点递归解法,分为5种情况669. 修剪二叉搜索树递归解法108.将有序数组转换为二叉搜索树思路:将有序数组二等分,确保左右子树的个数相差不超过1即可。

2023-03-05 17:52:00 33

原创 day21 二叉搜索树(最小绝对差、众数)、最近公共祖先

day21 二叉搜索树(最小绝对差、众数)、最近公共祖先

2023-02-14 00:05:35 44

原创 day20 二叉树(RMQ,合并二叉树、二叉搜索树的搜索和验证)

RMQ,合并二叉树、二叉搜索树的搜索和验证

2023-02-12 15:00:41 50

原创 day18 二叉树(树左下角值、路径总和、构造二叉树)

树左下角值、路径总和、构造二叉树

2023-02-11 22:41:09 42

原创 day17 二叉树(判断平衡二叉树、二叉树路径、左叶子之和)

高度:到叶子节点的距离,用后序遍历;深度:到根节点的距离,用前序遍历。

2023-02-11 17:54:12 36

原创 day16 二叉树(最大、最小深度,完全二叉树的节点个数)

二叉树:最小、最大深度;n叉树的最大深度;完全二叉树的节点个数。

2023-02-10 21:15:14 96

原创 day15 二叉树(层次遍历、翻转二叉树、对称二叉树)

二叉树的层次遍历,翻转二叉树,对称二叉树

2023-02-09 14:00:02 82

原创 day14 二叉树(基础、遍历)

二叉树的遍历,包括递归,迭代,统一迭代

2023-02-08 22:51:13 94

原创 day13 栈与队列(单调队列、堆、优先队列)

单调队列、优先队列

2023-01-16 19:27:58 78

原创 day11 栈与队列

将操作数入栈,遇到操作符后,出栈两个数进行计算(如果是"/“或者”-"需要注意顺序,如第一个出栈的是除数,即在后面的那个);最后栈顶元素就是计算结果。可以将栈顶元素作为上一个字符,遍历的字符作为下一个,一旦相同则消除,不同则入栈。

2023-01-15 19:13:46 43

原创 day10 栈与队列

用一个队列来实现栈,每次插入元素时都重新排列,实现栈的功能。用两个栈来实现,一个输入栈和一个输出栈。

2023-01-15 13:07:37 66

原创 day09 字符串匹配算法KMP及其应用

双指针法:双指针法在数组,链表和字符串中很常用数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后向前进行操作反转系列:当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章;先整体反转再局部反转,实现了反转字符串里的单词;先局部反转再整体反转达到了左旋的效果。kmp:理解next数组,求next数组,字符串匹配。

2023-01-14 21:42:33 45

原创 day08 字符串

重点是反转字符串相关操作

2023-01-01 21:32:37 42

原创 day07 哈希表

判断一个元素是否在集合中。

2023-01-01 17:38:08 40

原创 day6 哈希表

作用是快速判断一个元素是否出现集合。哈希冲突:拉链法或者线性探测法。

2022-12-13 17:11:24 67

原创 day4 链表

链表的技巧

2022-12-10 20:38:56 27

原创 day3 链表

链表:虚拟头结点、链表的设计、反转链表

2022-12-09 20:55:04 289

原创 day2 数组专题

数组常用技巧:二分、双指针、滑动窗口和模拟

2022-12-09 03:32:10 405

原创 算法除了理解还得背(day1:数组、二分、双指针)

算法=理解+刷题+多练+保持手感。复习数组、整数二分、双指针

2022-12-07 12:05:06 265

原创 《区块链技术与应用》-07-BTC-挖矿难度

为什么要调整挖矿难度挖矿难度SHA-256产生的输出有256位,输出空间为2^256个可能取值,调整目标空间大小,简单来说就是满足输出值的前面几位是0。挖矿难度和目标阈值成反比,如下图所示,其中difficulty_1_target为是挖矿难度为1时候的target(0111111…),即最小挖矿难度。改变挖矿难度的原因系统总算力加强,区块难度不变的话,出块时间会变短,而不能维持人为选择的参数10min。出块时间短存在的问题假设出块1s,传播几十秒,两个节点同时收到一个区块,又同时发布了一个

2022-12-07 10:30:50 607

原创 使用sudo passwd root成功后,切换时没有响应

项目场景:修改root密码问题描述使用sudo passwd root成功后,切换时没有响应原因分析:原因:/root/.bashrc文件加了exit,注释后正常解决方案:直接删除exit

2022-03-19 13:40:32 495

原创 《区块链技术与应用》-15-ETH-账户

BTC账户模型BTC是基于交易的账本(transaction based ledger),系统中并未显示记录账户有多少钱,只能根据UTXO进行推算,总资产算一下所有有私钥的账户在UTXO中有多少个币。好处:隐私保护好问题:实用上比较别扭。例如:A→B(10BTC),A说明币的来源,分别是从几个交易中得来的,分别证明这些交易的合法性。实际银行只需要进账说明来源,花钱则不用。前面交易中收取到的输出,在花钱时,必须把该输出的钱都花出去。例如:图中的交易,剩余的BTC转回给自己。ETH账户模型

2021-03-04 11:47:41 296 1

原创 《区块链技术与应用》-13-BTC-思考

哈希指针BTC系统设计中的哈希指针,区块的块头指向前一个区块,而指针只保存本地内存的地址,发送到其他计算机上没有意义。这样发布区块时是怎么传播的?实际上,只有哈希,没有指针,块头数据结构中有一个指向前一个区块的哈希。怎么找到前一个区块的内容呢?全节点把区块存储在一个(key,value)的数据库中,key为区块的hash,value就是区块的内容。常用的为level DB,所谓的区块链的链表结构,实际上是在level DB中用hash值串起来的,只要掌握最后一个区块的hash值,就可以把最后一个区块的内

2021-03-03 13:09:51 235

原创 《区块链技术与应用》-06-BTC-网络

比特币网络工作原理比特币工作在应用层(application layer),底层是网络层(network layer),运行一个P2P Overlay NetWork(P2P覆盖网络)。所有节点都是对等的,不像有的P2P网络有超级节点(super node),或者主节点(master node)。加入网络首先得知道至少有一个种子节点(seed node),通过种子节点告知自己它所知道的节点。节点之间的通信采用了TCP协议,便于穿透防火墙。当节点离开时,只需要自行退出即可,其他节点在一定时间后仍然没有收

2021-02-20 16:55:48 218

原创 java使用465端口发送邮件

项目场景:javaweb网站项目,实现注册功能时采用邮件验证方式。问题描述:本地测试MailUtils工具类成功发送邮件验证,服务器部署后保存,查看日记com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.qq.com, 25; timeout -1; nested exception is: java.net.ConnectException: Connection timed out

2020-10-24 11:09:21 771

原创 使用Anaconda进行机器学习遇到的配置问题

修改 jupyter notebook的默认文件夹位置打开prompt输入jupyter notebook –generate-config打开上一步生成的配置文件jupyter_notebook_config.py在jupyter_notebook_config.py中找到并修改如下配置项:c.NotebookApp.notebook_dir = ”自定义目录"在win开始菜单中找到jupyter notebook快捷图标,鼠标右键>>属性>>快捷方式>&g

2020-07-21 00:34:57 102

原创 java自学(常量关键字区别)

final:对于基本类型,final使数值恒定不变;对于对象引用,final使引用恒定不变。应用于基本类型域,或不可变类域。static:属于类,不属于任何独立的对象。方法外,类中。俩种情形:①只想为某特定域分配单一存储空间,不去考虑创建对象;②即使没有创建对象,也能够调用这个方法。俩种引用static变量的方法:① 类名.name ② 对象名.name静态常量:final static...

2019-07-13 18:34:55 684

空空如也

空空如也

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

TA关注的人

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