在MarkDown中使用Latex写公式
LaTeX 公式完整示例
1. 行内公式
这是爱因斯坦质能方程:$E=mc^2$,其中 $E$ 是能量,$m$ 是质量,$c$ 是光速。
这是爱因斯坦质能方程:\(E=mc^2\),其中 \(E\) 是能量,\(m\) 是质量,\(c\) 是光速。
2. 独行公式
二次方程求根公式:
$$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$
\[
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
\]
3. 多行公式(对齐)
利用 align 环境实现公式对齐:
$$\begin{align}f(x) &= (x+1)^2 \\ &= x^2 + 2x + 1\end{align}$$
\[
\begin{align}
f(x) &= (x+1)^2 \\
&= x^2 + 2x + 1
\end{align}
\]
4. 矩阵
一个...
Hexo配置Latex环境
我们用 hexo 搭建个人博客,会发现无法显示
markdown 文件里的 latex
公式,这是因为hexo默认支持的hexo-renderer-marked渲染器不支持latex公式。那我们应该怎样做才能支持显示latex公式呢?以
butterfly 主题为例,目前 butterfly
支持两种数学公式渲染引擎,分别为 Mathjax 和
Katex。由于 Mathjax 支持的更为全面,因此我们选择
Mathjax。
具体步骤如下:
卸载 hexo-math 和 hexo-renderer-marked。在 cmd 中输入如下命令:
npm un hexo-mathnpm un hexo-renderer-marked
安装 hexo-renderer-pandoc 渲染器,命令如下:
npm i hexo-renderer-pandoc
修改配置文件,修改 butterfly/_config.yml
# About the per_page# if you set it to true, it will...
TortoiseGit无法拉代码,但是GitBash可以
问题分析:TortoiseGit
无法拉取代码,但 Git Bash 可以
Git Bash 可以拉取 → 说明你的 SSH
密钥配置正确,Git Bash 能正确识别
~/.ssh/id_rsa(或 id_ed25519)。
TortoiseGit 报错 → 说明 TortoiseGit
没有正确加载 SSH 密钥,导致无法认证。
解决方案
1. 确保
TortoiseGit 使用正确的 SSH 客户端
TortoiseGit 默认使用
TortoiseGitPlink(PuTTY 的 SSH 工具),而
Git Bash 使用 OpenSSH。你需要确保
TortoiseGit 使用正确的 SSH 客户端:
打开 TortoiseGit 设置
右键 → TortoiseGit → Settings
进入 Network 选项卡
设置 SSH 客户端路径
确保 SSH Client 指向 Git 自带的
ssh.exe(而不是 TortoiseGitPlink.exe)
C:\Program...
每周LeetCode回顾-1
456.
132模式
思路:
从后往前遍历,维护一个单调递减的栈,同时使用
k 记录所有出栈元素的最大值。
class Solution {public: bool find132pattern(vector<int>& nums) { // 获取数组大小 int n = nums.size(); // 单调栈 stack<int> stk; // 存储 k int k = INT_MIN; // 利用单调栈使得一直满足 j < k for(int i = n-1; i >= 0; --i) { // 发现 k > i 的情况直接返回 true if(k > nums[i]) return true; while(!stk.empty() && stk.top()...
C++关联型容器-map映射
std::map 是 C++
标准库中的关联容器,基于红黑树实现,存储键值对并按键自动排序。以下是
std::map 的 API 参考。
1. 构造函数
方法
描述
时间复杂度
map<K,V> m
创建空 map
O(1)
map<K,V> m(comp)
使用自定义比较器创建空 map
O(1)
map<K,V> m(begin, end)
用迭代器范围初始化
O(n log n)
map<K,V> m(begin, end, comp)
用迭代器范围和比较器初始化
O(n log n)
map<K,V> m(initializer_list)
用初始化列表初始化
O(n log n)
map<K,V> m(other_map)
拷贝构造函数
O(n)
map<K,V>...
C++关联型容器-set集合
std::set 是 C++
标准库中的关联容器,基于红黑树实现,存储唯一键并按键自动排序。以下是
std::set 的 API 参考。
1. 构造函数
方法
描述
时间复杂度
set<T> s
创建空 set
O(1)
set<T> s(comp)
使用自定义比较器创建空 set
O(1)
set<T> s(begin, end)
用迭代器范围初始化
O(n log n)
set<T> s(begin, end, comp)
用迭代器范围和比较器初始化
O(n log n)
set<T> s(initializer_list)
用初始化列表初始化
O(n log n)
set<T> s(other_set)
拷贝构造函数
O(n)
set<T> s(move(other_set))
移动构造函数
O(1)
2....
C++顺序容器-deque双端队列
std::deque(双端队列)是 C++
标准库中的双向开口的动态数组,结合了 vector 和
list 的优点,支持高效的首尾插入删除操作。以下是
std::deque 的 API 参考。
1. 构造函数
方法
描述
时间复杂度
deque<T> d
创建空 deque
O(1)
deque<T> d(n)
创建包含 n 个默认初始化元素的 deque
O(n)
deque<T> d(n, value)
创建包含 n 个 value 的 deque
O(n)
deque<T> d(begin, end)
用迭代器范围 [begin,end) 初始化
O(n)
deque<T> d(initializer_list)
用初始化列表初始化
O(n)
deque<T> d(other_deque)
拷贝构造函数
O(n)
deque<T>...
C++容器适配器-priority_queue优先队列(堆)
std::priority_queue 是 C++
标准库中的优先队列容器适配器,基于堆数据结构实现,默认提供最大堆功能(最大元素始终位于顶部)。以下是
std::priority_queue 的完整 API 参考。
1. 构造函数
方法
描述
时间复杂度
priority_queue<T> pq
创建空优先队列(使用
less<T> 比较器)
O(1)
priority_queue<T, Container, Compare> pq
指定底层容器和比较器
O(1)
priority_queue<T> pq(comp)
使用自定义比较器
O(1)
priority_queue<T> pq(begin, end)
用迭代器范围初始化
O(n)
priority_queue<T> pq(begin, end, comp)
用迭代器范围和比较器初始化
O(n)
2....
C++实现十大排序算法
以下是 C++ 实现的十大排序算法 及其详细介绍,包括
时间复杂度、空间复杂度、稳定性、适用场景 等。
1. 冒泡排序(Bubble
Sort)
思想:重复比较相邻元素,如果顺序错误就交换,直到没有交换发生。
特点:简单但效率低,适合小规模数据。
void bubbleSort(vector<int>& arr) { int n = arr.size(); for (int i = 0; i < n - 1; i++) { bool swapped = false; for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(arr[j], arr[j + 1]); swapped = true; }...
C++容器-vector
std::vector 是 C++
中最常用的动态数组容器,提供高效的随机访问和动态扩容功能。
1. 构造函数
方法
描述
时间复杂度
vector<T> v
创建空 vector
O(1)
vector<T> v(n)
创建包含 n 个默认初始化元素的
vector
O(n)
vector<T> v(n, value)
创建包含 n 个 value 的 vector
O(n)
vector<T> v(begin, end)
用迭代器范围 [begin,end) 初始化
O(n)
vector<T> v(initializer_list)
用初始化列表初始化
O(n)
vector<T> v(other_vector)
拷贝构造函数
O(n)
vector<T>...