![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 76
Milk_exe
风生水起,全靠自己!
展开
-
内联函数与宏
对于一个频繁使用的短小函数,在C语言和C++中分别应用什么实现? 宏定义#define代替短函数可能出现的问题,举例说明。 为什么要引入内联函数? 内联函数与宏定义的区别。 内联函数的使用。原创 2023-04-05 16:31:56 · 95 阅读 · 0 评论 -
76.最小覆盖子串-LeetCode
题目链接 方法一 双指针滑动窗口 算法思想:利用双指针构造一个滑动窗口,滑动窗口在不断移动的过程中找到最短的包含字符串t中字符的子串。 滑动窗口通过右指针来扩展,每次向右移动一次,完成窗口的扩展,并且检查此时窗口内是否包含了字符串t中所有字符。 i. 如果包含,那么考虑从窗口左侧窗口减小窗口大小以求得最小子串; ii. 如果不包含,那么继续向右扩展; 滑动窗口规模缩减,左侧指针不断右移,随着窗口规模每减小1,如若当前窗口仍然包含字符串t中所有元素,那么说明当前窗口的子串符合要求,应同之前的子串长度作比较原创 2021-12-11 19:57:50 · 399 阅读 · 0 评论 -
75.颜色分类-LeetCode题解
文章目录方法一 计数排序方法二 单指针(两趟遍历)方法三 双指针(同向)方法四 双指针(相向) 题目链接 方法一 计数排序 算法思想:利用计数排序分别统计0,1,2出现的次数,然后根据次数数组向nums数组中按0,1,2出现次数重新写入。 C语言实现 void sortColors(int* nums, int numsSize){ int array[3] = {0}; for(int i = 0; i<numsSize; ++i){ switch(nums[i]原创 2021-12-10 17:18:13 · 766 阅读 · 0 评论 -
15.三数之和-LeetCode 题解
文章目录1. 方法一 哈希表 1. 方法一 哈希表 算法思想:利用类似于T1-twoSum哈希表的方法求取三元组。通过第一重循环固定第一个元素a,从而在内部求取两个数b,c,使得b+c = target,内部就转换成了T1两数之和的问题。时间复杂度为T(n)=O(n^2) 该方法值得注意的几个点: 由于题目要求类似于[a,b,c]或者[b,a,c]的情况不得重复出现,同时要满足a<b<c,因此在遍历之前首先要对数组进行排序,时间复杂度位O(n^2)。 在第一层循环时,如果当前的元素nums原创 2021-12-04 23:05:59 · 485 阅读 · 0 评论 -
1.两数之和-LeetCode题解
1.两数之和-LeetCodeC语言C++ 算法思想:在遍历的过程中利用哈希表记录已经存在的数据,每次遍历到一个新的元素a,都向前寻找target-a这个元素是否存在(利用哈希表,从而避免了二重循环遍历查找target-a),由此将时间复杂度降低到O(n)。当然随之而来付出的代价即是空间复杂度增加。 C语言 /** * Note: The returned array must be malloced, assume caller calls free(). */ struct HashTable原创 2021-12-04 21:24:14 · 216 阅读 · 0 评论 -
关于王道机试指南习题11.6(牛客网考研真题) 上海交通大学复试上机题解:最短路径
关于王道机试指南习题11.6 上海交通大学复试上机题解:最短路径 之前存在的问题:当专门为大数定义一个结构体时,那么在新的结构体内无法利用大数的结构体内已经重定义的运算符; 两个思路: 思路一: 以字符串存储大数,如此在Edge和Point的结构体内就可以利用字符串的比较规则; 由于字符串比较是按字典序比较,为了保证两个大数能够直接比较,必须要让所有大数的位数相同,如此才能直接比较。否则会...原创 2020-03-24 16:31:44 · 449 阅读 · 0 评论