博客食用指南
重拾博客,本着分享的精神,给大家分享一些自己所知道的那些浅薄的知识🎉。希望能给大家带来一些帮助,以及一些乐趣。整理完博客的基本功能了(doga,未来会不断的完善和加入新的好玩的东西~ 博客加载速度可能因为位置问题有些慢,未来会尽量解决 ~ 麻烦啦 文章相关打开和关闭目录右下角齿轮设置中打开侧边栏即可查看目录 阅读模式右下角齿轮设置中打开阅读模式 暗黑模式右下角齿轮设置中切换暗黑模式 评论相关头像设置前往 https://cn.gravatar.com/,通过邮箱注册并设定头像,评论时邮箱填写注册的邮箱即可 图片上传 评论 暂时不支持 图片上传,评论使用 markdown,可以使用自己的图床导入图片进行展示。 未来可能会接入图床便于使用,麻烦啦 ~ KaTex 公式评论支持 KaTex 公式,输入 $$ 即可输入公式 私信右下角可以打开聊天窗口,欢迎私信呀 私信可以发送文件 博客更新订阅右下角聊天窗口填入邮箱后发送:订阅。即可 未来会添加更方便的方法,哈哈哈 内容计划: LeetCode 热题 HOT 100 功能 ...
hexo博客Butterfly主题之标签外挂
本文主要分享:除了 markdown 的基本语法之外,文章可以使用的组件。在 Butterfly 官方中称为 标签外挂(Tag Plugins)。这些组件能够使得 hexo 文章内容的呈现方式更加丰富多彩。 Tabs 组件使用方法12345{% [tabs Unique name], [index] %}<!-- tab [Tab caption] [@icon] -->Any content (support inline tags too).<!-- endtab -->{% endtabs %} 注意: 其中的 <!-- --> 注释内容也是 Tabs 组件的一部分,并不是 markdown 中的注释** 其中 [xxx] 仅用于描述可以替换的元素,替换后并没有方括号 [] Tabs 配置说明: [tabs Unique name] - 必须 针对当前页面,此 Tabs 的唯一标识字符串 如果名称中存在空格,则生成的时候会替换为破折号 - [index] 指定选择 Tabs 里面的哪个 ...
hexo博客Butterfly主题之文章结构
本文主要分享:hexo 博客的目录结构,文章存放路径。Butterfly 主题下的文章或者页面的相关信息的配置。介绍 Butterfly 的若干类型页面的创建和使用。 文章及页面结构文章分类与存放路径hexo 所有页面均在 博客根路径 下的 /source 文件夹: hexo 默认的两个文件夹 _drafts:存放不会展示的文章 _posts:存放展示的文章,Post 文章 其余文件夹可以手动创建 每个文件夹相当于一个 Page 页面 hexo 生成的 public 文件夹: /source 文件夹下的 _posts 会按照日期(年月)创建对应文件夹放置对应文章 /source 文件夹下的其余文件夹保持不变 Front-matterPage 页面Front-matter 为文章 --- 分割上方的部分,用于描述文章的信息: hexo butterfly 的每个文章 必须 包含下面的信息,但是可以 省略 部分信息 1234567891011121314151617181920---title: any # 【必须】文章页面标题date: YYYY-MM ...
LeetCode-279 完全平方数
LeetCode-279 完全平方数题目描述给你一个整数 $n$ ,返回 和为 $n$ 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,$1、4、9$ 和 $16$ 都是完全平方数,而 $3$ 和 $11$ 不是。 数据样例示例 1: 123输入:n = 12输出:3 解释:12 = 4 + 4 + 4 示例 2: 123输入:n = 13输出:2解释:13 = 4 + 9 数据范围: $1 \leq n \leq 10 ^ 4$ 动态规划完全背包题目的含义可以转换为完全背包,物品的容量和代价分别是: 给定 $1 \sim N$ 范围内的所有平方数,每个物品(平方数)的容量是这个平方数的值,代价是 $1$ 问题转换为:求由这些平方数可以选择任意多个,组成背包容量为 $N$ 的代价的最小值 那么这个问题就是完全背包问题,我们知道完全背包问题的状态转移方程为: $w[i]$ 为第 $i$ 个平方数的值 $1$ 表示当前物品(平方数)的代价为 $1$ $$f[j] = min(f[j], f[j ...
hexo博客迁移,开始更新
hexo 博客迁移记录前言由于之前的服务器到期了,所以需要将博客相关数据进行迁移,记录一下。 docker 迁移docker 迁移的方法了解有两种: 迁移容器: 导出容器:docker export {container_id} > container.tar 导入容器:type/cat container.tar | docker import - {container_name} 迁移镜像: 导出并压缩镜像:docker save {container_id} | gzip container.tar.gz 导入镜像:docker load -i container.tar.gz 但是都存在一些问题: 迁移容器: 无法启动解决方法:docker run 启动需要尾部加上 COMMAND 命令,这个命令可以通过 docker ps -a --no-trunc 查看 需要 docker run 指定端口:不会迁移 Port 等这些信息 报错:hexo server 命令不存在,可能是没有 init,但是如果 ...
LeetCode-8 字符串转换整数(atoi)
LeetCode-8 字符串转换整数(atoi)题目描述请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。 将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。如果没有读入数字,则整数为 $0$ 。必要时更改符号(从步骤 $2$ 开始)。 如果整数数超过 $32$ 位有符号整数范围 $[−2 ^ {31}, 2 ^ {31} − 1]$, 需要截断这个整数,使其保持在这个范围内。具体来说,小于 $−2 ^ {31}$ 的整数应该被固定为 $−2 ^ {31}$ ,大于 $2 ^ {31} ...
LeetCode-1386 安排电影院座位
LeetCode-1386 安排电影院座位题目描述 如上图所示,电影院的观影厅中有 $n$ 行座位,行编号从 $1$到 $n$ ,且每一行内总共有 $10$ 个座位,列编号从 $1$ 到 $10$ 。 给你数组 reservedSeats ,包含所有已经被预约了的座位。比如说,researvedSeats[i]=[3,8] ,它表示第 $3$ 行第 $8$ 个座位被预约了。 请你返回 最多能安排多少个 $4$ 人家庭 。$4$ 人家庭要占据 同一行内连续 的 $4$ 个座位。隔着过道的座位(比方说 $[3,3]$ 和 $[3,4]$)不是连续的座位,但是如果你可以将 $4$ 人家庭拆成过道两边各坐 $2$ 人,这样子是允许的。 示例 1: 123输入:n = 3, reservedSeats = [[1,2],[1,3],[1,8],[2,6],[3,1],[3,10]]输出:4解释:上图所示是最优的安排方案,总共可以安排 4 个家庭。蓝色的叉表示被预约的座位,橙色的连续座位表示一个 4 人家庭。 示例 2: 12输入:n = 2, reservedSeats = [[2, ...
LeetCode-155 最小栈
LeetCode-155 最小栈题目描述设计一个支持 push, pop, top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素 val 推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶部的元素。 int getMin() 获取堆栈中的最小元素。 示例 1 12345678910111213141516输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,null,-3,null,0,-2]解释:MinStack minStack = new MinStack();minStack.push(-2) ...
LeetCode-1302 层数最深叶子节点的和
LeetCode-1302 层数最深叶子节点的和题目描述给你一棵二叉树的根节点 root ,请你返回 层数最深的叶子节点的和 示例 1: 12输入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8]输出:15 示例 2: 12输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]输出:19 提示: 树中节点数目在范围 $[1, 10 ^ 4]$ 之间。 $1 \leq Node.val \leq 100$ 深度优先搜索 DFS - $O(N)$DFS只需要遍历一遍树,找到所有叶子节点,此时判断: 当前叶子节点深度 小于 当前最深深度,则跳过 当前叶子节点深度 等于 当前最深深度,则 最深深度节点权值和加上当前节点权值 当前叶子节点深度 大于 当前最深深度,则 更新最深深度,以及更新最深深度节点权值和为当前节点的权值 由于 非叶子节点深度一定低于叶子节点,因此对于所有节点都可以进行上述判断,代码可以写的更短一些 题目中第一个实例的更新过程如下图所示: 当前节点深 ...
LeetCode-142 环形链表 II
LeetCode-142 环形链表 II题目描述给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 不允许修改 链表。 数据样例示例 1: 123输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接到第二个节点。 示例 2: 123输入:head = [1,2], pos = 0输出:返回索引为 0 的链表节点解释:链表中有一个环,其尾部连接到第一个节点。 示例 3: 123输入:head = [1], pos = -1输出:返回 null解释:链表中没有环。 提示: 链表中节点的数目范围在范围 $[0, 10 ^ 4]$ 内 $-10 ^ 5 \ ...