- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 详解C++STL容器系列(一)—— vector的详细用法和底层原理
目录一、介绍二、vector的创建和方法创建vector方法三、vector的具体用法3.1 遍历vector3.1.1 迭代器访问3.1.2 下标访问3.1.3 范围for循环3.2 vector 容量和大小3.3 vector 常用算法3.3.1 push_back、pop_back 和 emplace_back3.3.2 insert 和 emplace3.3.3 erase3.3.4 assign3.3.5 swap 和 clear3.4 vector二维操作定义访问resize操作四、vector
2021-05-28 22:33:08 30988 17
原创 力扣每日一题:1190. 反转每对括号间的子串
目录题目:1190. 反转每对括号间的子串示例1示例2示例3示例4提示:解题思路解题代码(1)栈(2)栈——优化题目:1190. 反转每对括号间的子串难度: 中等题目:给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例1输入:s = “(abcd)”输出:“dcba”示例2输入:s = “(u(love)i)”输出:“iloveu”示例3输入:s = “
2021-05-26 20:23:16 305
原创 大厂面试重要C++知识(三)—— 智能指针
目录一、前言二、智能指针三、auto_ptrauto_ptr基本操作智能指针赋值四、unique_ptr五、share_ptr六、weak_ptr解决互相引用问题一、前言C/C++最让人诟病的特性之一:内存泄漏。因此如java、C#等语言都提供了内置内存分配与释放功能,屏蔽了指针。自动分配内存还是手动分配内存都有利有弊,而智能指针为解决内存泄漏问题应运而生。内存泄漏的案例:如我们new了一个对象在堆区开辟了空间,需要在一定位置将其delete释放空间,但是程序可能在未执行到delete语句时就已经跳
2021-05-25 21:07:00 549 2
原创 大厂面试重要C++知识(二)—— 内联函数和宏的区别与联系
目录一、内联函数内联函数定义代码实现优缺点关键二、内联函数和宏(macro)的区别宏内联函数和宏的区别参考文章内联函数和宏做为C和C++的基础,具有提高执行效率的功能。那么既然存在了宏,为什么还要内联函数?他们有什么区别和联系呢?以下展开。一、内联函数内联函数定义内联函数是C++为降低小型程序调用开销而采取的一种机制。函数在调用时,需要在栈中为形参和局部变量开辟空间,将实参的值赋值给形参;还有函数执行前的现场状态和返回地址都要压入栈中,以便函数返回后继续执行,这个过程带来时间和空间的开销。同
2021-05-24 17:09:59 628 2
原创 matlab: Error in S-function ‘BPPID/S-Function‘: S-Function ‘exppidf‘ does not exist 问题解决
目录一、问题二、解决一、问题 matlab使用simulink仿真神经网络BP算法的时候,使用S函数时出现问题:Error in S-function ‘BPPID/S-Function’: S-Function ‘exppidf’ does not exist。 根据问题,是S函数文件不存在,但是其实我是写了该函数。所以,应该是matlab找不到。因为是用matlab语言写的而非其他语言如C,所以也不存在编译等问题。二、解决 难道说要将编写S函数文件放在matlab系统目录?其实并不用,
2021-05-23 21:10:31 6684
原创 力扣每日一题:810. 黑板异或游戏
目录题目:810. 黑板异或游戏示例提示:解题思路解题代码题目:810. 黑板异或游戏难度: 困难题目:黑板上写着一个非负整数数组 nums[i] 。Alice 和 Bob 轮流从黑板上擦掉一个数字,Alice 先手。如果擦除一个数字后,剩余的所有数字按位异或运算得出的结果等于 0 的话,当前玩家游戏失败。 (另外,如果只剩一个数字,按位异或运算得到它本身;如果无数字剩余,按位异或运算结果为 0。)换种说法就是,轮到某个玩家时,如果当前黑板上所有数字按位异或运算结果等于 0,这个玩家获胜。假设两
2021-05-22 14:20:50 259 2
原创 力扣每日一题:692. 前K个高频单词
目录题目:692. 前K个高频单词示例1示例2提示:解题思路解题代码题目:692. 前K个高频单词难度: 中等题目:给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例1输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,均为2次。注意
2021-05-20 22:55:54 223
原创 大厂面试重要C++知识(一)—— C++面向对象特性
目录一、面向对象二、封装三、继承四、虚函数和纯虚函数虚函数普通函数内存虚函数内存纯虚函数五、参考文章一、面向对象面向对象的三大特点:封装、继承、多态。当然讲四大特点可以加上抽象。二、封装定义:将数据和信息包装在单个单元中。在面向对象的编程中,封装被定义为将数据和操纵它们的功能绑定在一起。比如,一家公司有销售部门、技术部门、财务部门,销售部门有对应销售数据,而如果财务部门想要查看销售部门的数据时,需要先通过销售部门的人员才能得到相应的数据。而这就是封装,外部人员访问相关部门时需要通过某种渠道、接口才
2021-05-20 20:55:33 874 16
原创 力扣每日一题:1738. 找出第 K 大的异或坐标值
目录题目:1738. 找出第 K 大的异或坐标值示例1示例2示例3示例4提示:解题思路解题代码题目:1738. 找出第 K 大的异或坐标值难度: 中等题目:给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matrix 的
2021-05-19 23:31:21 189
原创 力扣每日一题:1442. 形成两个异或相等数组的三元组数目
目录题目:1442. 形成两个异或相等数组的三元组数目示例1示例2示例3示例4示例5提示:解题思路解题代码(1)三次遍历(2)二次遍历(3)一次遍历(哈希表)题目:1442. 形成两个异或相等数组的三元组数目难度: 中等题目:给你一个整数数组 arr 。现需要从数组中取三个下标 i、j 和 k ,其中 (0 <= i < j <= k < arr.length) 。a 和 b 定义如下:a = arr[i] ^ arr[i + 1] ^ … ^ arr[j - 1]
2021-05-18 20:30:18 142
原创 力扣每日一题:993. 二叉树的堂兄弟节点
目录题目:993. 二叉树的堂兄弟节点示例1示例2示例3提示:解题思路解题代码(1)层序遍历(BFS)(2)先序遍历(DFS)题目:993. 二叉树的堂兄弟节点难度: 简单题目:在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否
2021-05-17 23:00:04 264
原创 vscode调试出错:Unable to start debugging.The value of miDebuggerPath is invalid 问题解决
目录一、问题二、分析问题关键三、解决一、问题在vscode调试代码(F5)时,出现上述问题,或者以下问题:以上两种问题,实则都是配置文件"launch.json"中"miDebuggerPath"字段配置错误,也就是gdb调试器的路径配置有问题。二、分析如下图,是我的"launch.json"文件内容,可以看到对应的"miDebuggerPath"字段路径,但是不论是用’/‘还是’\’,会分别会出现以上图片中的问题。问题关键其实修改gdb的路径这一思路是没有错的,但是其实我遗漏了一个很关
2021-05-16 18:58:13 31937 6
原创 力扣每日一题:13. 罗马数字转整数
目录题目:13. 罗马数字转整数示例1示例2示例3示例4示例5提示:解题思路解题代码(1)枚举模拟法(2)优化模拟法题目:13. 罗马数字转整数难度: 简单题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000
2021-05-15 18:51:52 136 1
原创 力扣每日一题:12. 整数转罗马数字
目录题目:12. 整数转罗马数字示例1示例2示例3示例4示例5提示:解题思路解题代码(1)朴素模拟法(2)贪心模拟法(3)编码题目:12. 整数转罗马数字难度: 中等题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1
2021-05-14 18:01:20 350 2
原创 力扣每日一题:1310. 子数组异或查询
目录题目:1310. 子数组异或查询示例1示例2提示:解题思路解题代码题目:1310. 子数组异或查询难度: 中等题目:有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。并返回一个包含给定查询 queries 所有结果的数组。示例1输入:arr = [1,3,
2021-05-12 22:45:34 122
原创 力扣每日一题:1720. 解码异或后的数组
目录题目:1720. 解码异或后的数组示例1示例2提示:解题思路解题代码解题感悟题目:1720. 解码异或后的数组难度: 简单题目:未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr
2021-05-06 22:59:42 108
原创 力扣每日一题:554. 砖墙
目录题目:554. 砖墙示例1示例2提示:解题思路解题代码解题感悟题目:554. 砖墙难度: 中等题目:你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和应该相等。你现在要画一条 自顶向下 的、穿过 最少 砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。给你一个二维数组 wall ,该数组包含这堵墙的相关信息。其中,wall[i] 是一个代表从左至右
2021-05-02 20:46:47 338 2
原创 力扣每日一题:690. 员工的重要性
目录题目:690. 员工的重要性示例提示:解题思路解题代码解题感悟题目:690. 员工的重要性难度: 简单题目:给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工
2021-05-01 15:31:53 102
stm32ADC采集正弦波并用stm32DSP库的FFT处理数据计算失真度
2021-01-04
FPGA-VHDL实现10进制减法计数器,带清零和置数
2021-01-02
stm32ADC采集正弦波并用stm32DSP库的FFT处理数据计算失真度
2021-01-02
C#实现两台PC机间TCP通信
2020-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人