avatar
文章
38
标签
17
分类
6
首页
时间轴
标签
分类
关于
首页
时间轴
标签
分类
关于

qyhome

每周LeetCode回顾-2
发表于2025-06-23|leetcode|C++•leetcode
633. 平方数之和 思路:双指针 对于给定的非负整数 \(c\)​,需要判断是否存在整数 \(a\)​ 和 \(b\)​,使得 \(a^2+b^2=c\)​。可以枚举 \(a\)​ 和 \(b\)​ 所有可能的情况,时间复杂度为 \(O(c^2)\)​。但是暴力枚举有一些情况是没有必要的。例如:当 \(c=20\)​ 时,当 \(a=1\)​ 的时候,枚举 \(b\)​ 的时候,只需要枚举到 \(b=5\)​ 就可以结束了,这是因为 \(1^2+5^2=25>20\)​。当 \(b>5\)​ 时,一定有 \(1^2+b^2>20\)​。 假设 \(a\leq b\),初始时 \(a=0\),\(b=\sqrt c\),进行如下操作: 如果 \(a^2+b^2=c\)​,我们找到了题目要求的一个解,直接返回 true; 如果 \(a^2+b^2<c\),此时需要将 \(a\) 的值加 \(1\),继续查找; 如果 \(a^2+b^2>c\),此时需要将 \(b\) 的值减 \(1\),继续查找。 当...
C++容器-string
发表于2025-06-16|C++基础知识|C++•stl•容器•数据结构
C++中的string容器详解 std::string是C++标准库中用于处理字符串的容器类,它提供了丰富的字符串操作功能,比C风格的字符数组(char[])更安全、更方便。 基本特性 动态大小:string可以动态调整大小,无需手动管理内存 丰富的操作:提供多种字符串操作方法 安全性:自动处理内存分配和释放,减少缓冲区溢出风险 兼容性:可以与C风格字符串互操作 头文件 使用string需要包含头文件: #include <string> 构造函数 string提供了多种构造函数: std::string s1; // 默认构造,空字符串std::string s2("Hello"); // 从C风格字符串构造std::string s3(s2); // 拷贝构造std::string s4(5, 'x'); // 构造包含5个'x'的字符串std::string s5(s2.begin(),...
C++中常用的数学函数
发表于2025-06-09|C++基础知识|C++
在C++中,常用的数学函数主要通过 <cmath> 头文件提供(C++中也可用 <math.h>,但推荐使用C++风格的头文件)。以下是一些常用的数学函数及其说明: 1. 基本运算 函数 描述 示例 abs(x) 绝对值(整数,<cstdlib>) abs(-5) → 5 fabs(x) 浮点数的绝对值 fabs(-3.14) → 3.14 fmod(x, y) 浮点数取余 fmod(10.5, 3.0) → 1.5 remainder(x, y) 带符号的余数(IEEE规范) remainder(10.5, 3.0) → -0.5 fmax(x, y) 返回最大值 fmax(2.0, 3.0) → 3.0 fmin(x, y) 返回最小值 fmin(2.0, 3.0) → 2.0 2....
阿里云oss-picGo-typora搭建图床
发表于2025-06-09|问题记录|Hexo•Markdown•阿里云OSS•picGo•typora
Typora 图床设置 前言:因为开始记录博客,发现本地存储的图片路径与服务器路径总是不太一样,总是复制粘贴又不太方便,在此选择搭建图床来进行使用。 软件介绍 我们需要将图片上传到云(专业称图床)上,而云有多种,如下: 阿里云oss 专业,快速,存储空间便宜,一年9块钱40G。但是下行流量需要另外收费。 github...
C++中sort函数的详细使用指南
发表于2025-06-06|C++基础知识|C++•stl
C++ sort 算法的详细使用指南 sort 是 C++ STL 中最常用的排序算法,定义在 <algorithm> 头文件中。它使用高效的排序算法(通常是快速排序的变体)对序列进行排序。 基本用法 1. 默认排序(升序) #include <algorithm>#include <vector>#include <iostream>int main() { std::vector<int> nums = {4, 2, 5, 3, 1}; // 默认升序排序 std::sort(nums.begin(), nums.end()); for (int num : nums) { std::cout << num << " "; } // 输出: 1 2 3 4 5} 2. 降序排序 #include...
C++中常用的STL算法
发表于2025-06-06|C++基础知识|C++•stl
C++ 中常用的 STL 算法 STL (Standard Template Library) 提供了大量实用的算法,主要定义在 <algorithm> 头文件中。以下是一些最常用的 STL 算法: 非修改序列操作 for_each - 对范围内的每个元素应用函数 std::vector<int> v{1, 2, 3};std::for_each(v.begin(), v.end(), [](int i){ std::cout << i << " "; }); all_of/any_of/none_of - 检查范围中元素是否满足条件 bool all_even = std::all_of(v.begin(), v.end(), [](int i){ return i%2 == 0; }); 修改序列操作 copy/copy_if - 复制元素 std::vector<int>...
在MarkDown中使用Latex写公式
发表于2025-06-05|问题记录|Hexo•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环境
发表于2025-06-05|问题记录|Hexo•Markdown•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可以
发表于2025-06-04|问题记录|Git
问题分析: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
发表于2025-06-02|leetcode|C++•leetcode
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()...
1234
avatar
QY
学习记录
文章
38
标签
17
分类
6
Follow Me
最新文章
C++滑动窗口算法模板2025-08-20
Pimpl模式2025-08-14
CPP顺序型容器-list链表2025-08-13
操作系统基础知识2025-08-13
计算机网络基础知识2025-08-13
分类
  • C++基础知识10
  • leetcode3
  • 个人博客1
  • 数据结构与算法1
  • 计算机基础知识5
  • 问题记录4
标签
C++stl容器数据结构排序算法leetcode计算机基础知识数学公式HexoMarkdownLatex操作系统计算机网络Git阿里云OSSpicGotypora
归档
  • 八月 2025 6
  • 七月 2025 13
  • 六月 2025 12
  • 五月 2025 7
网站信息
文章数目 :
38
本站总字数 :
41.9k
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2025 By QY
框架 Hexo 7.3.0|主题 Butterfly 5.3.5
赣ICP备2025062752号-1