C++
文章平均质量分 75
南不喃
当笔记本用
展开
-
快速排序核心代码(递归实现+非递归实现)
今天做到lc75.颜色分类这道题,复习一下快速排序的写法,之前陪同学面试被问到非递归的快排写法,所以一起记录一下。原创 2022-07-05 16:22:14 · 355 阅读 · 1 评论 -
左值(Lvalues)与右值(Rvalues)
左值(Lvalues)与右值(Rvalues)定义Every C++ expression has a type, and belongs to a value category.左值右值都是表达式属性,该属性称为value category.在现代C++中,对于左值表达式,通过具体名字和引用来指定一个对象,非左值就是右值。左值表示程序中必须有一个特定的名字引用到这个值。An lvalue has an address that your program can access. Exam原创 2022-01-24 19:14:12 · 830 阅读 · 0 评论 -
二叉树本地调试范例
struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x): val(x), left(NULL), right(NULL) {}};class Solution {public: int count = 0; int pathSum(TreeNode* root, int sum) { if (root == NULL) return count; dfs(root, sum); p.原创 2022-01-24 18:48:34 · 293 阅读 · 1 评论 -
剑指Offer 19.正则表达式匹配
剑指Offer 19.正则表达式匹配示例 1:输入:s = “aa”p = “a”输出: false解释: “a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa”p = “a*”输出: true解释: 因为 ‘*’ 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 ‘a’。因此,字符串 “aa” 可被视为 ‘a’ 重复了一次。示例 3:输入:s = “ab”p = “.*”输出: true解释: “.*” 表示可匹配零个或多个(原创 2022-01-19 16:26:02 · 340 阅读 · 1 评论 -
由vector的size()函数引发的越界问题
由vector的size()函数引发的越界问题在做剑指 Offer 04. 二维数组中的查找一题时,如下代码:class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int i = matrix.size() - 1, j = 0; while (i >= 0 && j <=原创 2022-01-16 09:55:20 · 880 阅读 · 1 评论 -
力扣刷题之回溯
回溯77、组合216、组合总和III17、电话号码的字母组合39、组合总数(无重复元素)40、组合总数II(有重复元素)131、分割回文串93、复原IP地址(分割问题)78、子集(不包含重复元素)90、子集II(包含重复元素)491、递增子序列46、全排列(不包含重复数组)47、全排列II(包含重复数字)332、重新安排行程77、组合回溯法解决组合问题。和排序问题不同的是,在组合问题中元素的顺序不考虑,只需要从当前位置向后寻找。排序问题每次都需要从头寻找,需要用visited数组记录访问过的元素。原创 2021-08-13 16:33:28 · 145 阅读 · 0 评论 -
C++学习笔记(三)
C++学习笔记(三)1、模板1.1 模板的概念1.2 函数模板1.2.1 函数模板语法1.2.2 函数模板注意事项1.2.3 普通函数与函数模板的区别1.2.4 普通函数与函数模板调用规则1.2.5 模板的局限性1.3 类模板1.3.1 类模板基本语法1.3.1 类模板与函数模板区别1.3.2 类模板中成员函数的创建时机1.3.3 类模板对象做函数参数1.3.4 类模板与继承1.3.5 类模板成员函数类外实现1.3.5 类模板分文件编写1.3.6 类模板与友元2、STL2.1 STL基本概念2.2 STL六原创 2021-07-18 16:43:30 · 305 阅读 · 0 评论 -
C++学习笔记(二)
C++学习笔记(二)1、内区分区模型1.1 全局区1.2 栈区1.3 堆区1.4 new运算符2 引用2.1 引用的基本使用2.2 引用注意事项2.3 引用做函数参数2.4 引用做函数返回值2.5 引用的本质2.6 常量引用3、函数提高3.1 函数默认参数3.2 函数的占位参数3.3 函数重载4、类和对象4.1 封装4.1.1 struct和class区别4.1.2 成员属性设置为私有4.2 对象的初始化和清理1、内区分区模型1.1 全局区全局变量和静态变量离得很近1.2 栈区原创 2021-07-15 23:12:06 · 500 阅读 · 2 评论 -
C++学习笔记(一)
C++学习笔记一1、VS使用2、常量3、关键字4、数据类型4.1 整型4.2 浮点型4.3 字符型4.4 字符串型4.5 布尔类型5、转义字符6、数据的输入7、运算符7.1 算术运算符8、程序流程结构9、数组10、函数11、指针11.1 空指针11.2 野指针11.3 const修饰指针11.4 指针和数组11.5 指针和函数12、结构体12.1 结构体定义和语法使用:12.2 结构体数组12.3 结构体指针12.4 结构体嵌套结构体12.5 结构体做函数参数12.6 结构体中const使用场景1、VS使原创 2021-07-13 22:40:25 · 72 阅读 · 0 评论