栈和队列 - Hero · 算法 · Hello 算法 栈「栈」 stack 是一种遵循先入后出逻辑的线性数据结构 栈的常用操作 方法 描述 时间复杂度 push() 元素入栈(添加到栈顶) O(1) pop() 栈顶元素出栈 O(1) peek() 访问栈顶元素 O(1) 栈的实现 基于链表的实现 基于数组的实现 栈的典型应用 浏览器中的后退与前进、软件中的撤销与反撤销 程序内存管理(栈帧) 队列「队列 queue」是一种遵 2024-02-01 Hero > 算法 > Hello 算法 #Hero #算法 #Hello 算法
链表 - Hero · 算法 · Hello 算法 链表内存空间是所有程序的公共资源,在一个复杂的系统运行环境下,空闲的内存空间可能散落在内存各处。我们知道,存储数组的内存空间必须是连续的,而当数组非常大时,内存可能无法提供如此大的连续空间。此时链表的灵活性优势就体现出来了。 「链表 linked list」是一种线性数据结构,其中的每个元素都是一个节点对象,各个节点通过“引用”相连接。引用记录了下一个节点的内存地址,通过它可以从当前节点访问到下一 2024-01-31 Hero > 算法 > Hello 算法 #Hero #算法 #Hello 算法
数组 - Hero · 算法 · Hello 算法 数组「数组 array」是一种线性数据结构,其将相同类型的元素存储在连续的内存空间中。我们将元素在数组中的位置称为该元素的「索引 index」 常用操作初始化访问元素插入元素删除元素遍历数组查找元素扩容数组在复杂的系统环境中,程序难以保证数组之后的内存空间是可用的,从而无法安全地扩展数组容量。因此在大多数编程语言中,数组的长度是不可变的。 如果我们希望扩容数组,则需重新建立一个更大的数组,然后把原 2024-01-31 Hero > 算法 > Hello 算法 #Hero #算法 #Hello 算法
数据结构分类 - Hero · 算法 · Hello 算法 逻辑结构:线性与非线性线性数据结构线性:数组、链表、栈、队列、哈希表 非线性数据结构树、堆、图、哈希表 树形结构树、堆、哈希表 网状结构图 物理结构:连续和非连续所有数据结构都是基于数组、链表或二者的组合实现的 基于数组可实现栈、队列、哈希表、树、堆、图、矩阵、张量 基于链表可实现栈、队列、哈希表、树、堆、图 2024-01-30 Hero > 算法 > Hello 算法 #Hero #算法 #Hello 算法
复杂度分析 - Hero · 算法 · Hello 算法 时间复杂度推算方法第一步:统计操作数量1234567891011121314function algorithm(n) { let a = 1; // +0(技巧 1) a = a + n; // +0(技巧 1) // +n(技巧 2) for (let i = 0; i < 5 * n + 1; i++) { console.log(0); } 2024-01-28 Hero > 算法 > Hello 算法 #Hero #算法 #Hello 算法
子目录部署 - Hexo 背景今天wanmeishijie.xyz的域名备案已经通过了,所以这个项目部署迁移到了腾讯云服务器上,挂载了HTTPS,暂时不想用二级域名,所以采用子目录的方式统一分发不同的服务。 解决Hexo子目录问题其实只需要设置root就可以了 可参考:https://hexo.io/zh-cn/docs/configuration 处理nginx配置配置URL子路径映射 处理Github Action因为 2024-01-26 Hexo #Hexo
SSH断联问题 - Linux 问题描述通过 ssh user@ip 登录远程服务器,隔一段时间不操作后会自动端口,导致本地的终端无法操作 解决方案修改/etc/ssh/sshd_config文件 12ClientAliveInterval 60ClientAliveCountMax 3 参考https://cloud.tencent.com/developer/article/1788071 2024-01-26 Linux #Linux
0006 Z 字形变换- Hero · 算法 · Leetcode 题目地址(0006. Z 字型变换)https://leetcode.cn/problems/zigzag-conversion 题目描述12345678910111213141516171819202122232425262728293031323334353637将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAY 2024-01-25 Hero > 算法 > Leetcode #Hero #算法 #Leetcode
ssh无法连接问题 - Github 问题描述使用SSH无法连接到Github,最后显示重超时,但改用http可以正常拉取代码 解决方案在~/.ssh/config中添加gihutb的配置 123Host github.com Hostname ssh.github.com Port 443 参考https://stackoverflow.com/questions/15589682/ssh-connect-to 2024-01-25 github #github
事件冒泡的应用 - HTML · DOM 背景今天碰到一个问题,业务里有一个消息盒子,里面的内容是通过富文本配置出来的,最终通过React的dangerouslySetInnerHTML直接插入到了DOM中,然而里面有a标签,配置的本意是跳转内部链接,即打开平台内部的另外一个页面,然而a链接导致整个页面刷新了,体验非常不好(我们是单页面应用) 解决方案要解决这个问题其实也很简答,就是拦截原生的a标签点击事件,然后通过e.preventDe 2024-01-23 HTML > Event #HTML #Event