High0.0
码龄4年
关注
提问 私信
  • 博客:34,290
    社区:1
    34,291
    总访问量
  • 109
    原创
  • 915,099
    排名
  • 864
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2020-07-21
博客简介:

Linke66的博客

查看详细资料
个人成就
  • 获得80次点赞
  • 内容获得34次评论
  • 获得431次收藏
创作历程
  • 7篇
    2022年
  • 102篇
    2021年
成就勋章
TA的专栏
  • 并发编程
  • web前端学习
  • 智能驾驶中间件
  • 面试知识点(自用)
    6篇
  • Leetcode
    56篇
  • C++面试知识点
    2篇
  • C++面经(C++面试知识点)
    4篇
兴趣领域 设置
  • 编程语言
    c++
  • 数据结构与算法
    算法
  • 人工智能
    自动驾驶
  • 嵌入式
    mcu
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++秋招经验贴

秋招经验贴
原创
发布博客 2022.11.02 ·
5160 阅读 ·
23 点赞 ·
13 评论 ·
121 收藏

操作系统知识回顾(更新中,自用)

面向面试,整理的操作系统相关的基础知识
原创
发布博客 2022.08.23 ·
350 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

求数组所有非空子序列的和

数组所有非空子序列的和
原创
发布博客 2022.08.21 ·
858 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

软件测试开发从0到1(自用,更新中)

软件测试开发从0到1
原创
发布博客 2022.08.06 ·
283 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++、操作系统、计算机网络等需要巩固的知识点(自用,更新中)

面试C++、操作系统、计算机网络、网络编程、设计模式等需要巩固的知识点的整理。(自用的)
原创
发布博客 2022.07.28 ·
734 阅读 ·
2 点赞 ·
1 评论 ·
7 收藏

海量号码需要保存,如何才能尽可能少地占用内存?

面试场景题
原创
发布博客 2022.07.25 ·
674 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试前需要巩固的算法知识点(自用,更新中)

数据结构与算法相关面试知识点
原创
发布博客 2022.07.18 ·
605 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

646.最长数对链(动态规划)

解题思路:动态规划(最长升序子序列变体)dp[i]表示到索引为i的这个元素为止,有多少个满足要求的数对,即第一个元素大于前一个元素的第二个元素。动态转移方程if(pairs[i][0]>pairs[j][1]){ dp[i]=max(dp[i],dp[j]+1);但是由于给的数组是无序的,因此需要首先对数组作处理。首先数组按照第二个元素的升序排列,而不是按第一个元素的升序排列,原因是前者能够为后面留下更多的空间。sort(pairs.begi..
原创
发布博客 2021.11.25 ·
167 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

131.分割回文串

解题思路:使用深度优先搜索,一旦搜索到回文字符串,那么就进入递归,并且递归中从上一次搜索的下一个位置开始搜索。具体见代码。class Solution { vector<vector<string>> ret;public: //判断是否是回文字符串 bool calc(const string& s){ int i=0,j=s.size()-1; while(i<j){ if(s..
原创
发布博客 2021.11.23 ·
109 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

384.打乱数组

解题思路:用一个辅助数组vec,大小与传入数组一样,并且元素是生成的随机数。使得vec按照升序排序,并且原始数组也按照其排序方法排序。通过这种方式来随机打乱数组。举个例子:nums [2,3,1] vec [10,6,30]那么vec按升序排序就是vec[0]和vec[1]交换,那么nums[0]和nums[1]也交换。所以nums [3,2,1] vec [6,10,30]具体代码如下class Solution { vector<int> m_nums;..
原创
发布博客 2021.11.22 ·
1046 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

934.最短的桥(广度优先搜索)

解题思路方法1:暴力法使用深度优先搜索,讲两个岛屿的坐标存储到两个数组中,然后用两个for遍历数组,找到最小置。很暴力,时间和空间复杂度也很高。class Solution {public: int shortestBridge(vector<vector<int>>& grid) { int m=grid.size(),n=grid[0].size(); vector<vector<bool>>vi.
原创
发布博客 2021.11.01 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

51.N皇后(回溯法)

解题思路:回溯法主函数初始化一个全为’.'的二维数组,哪个位置可以放置皇后棋子,修改为’Q’即可。axis数组用来存放已经放置棋子的坐标。 //主函数 vector<vector<string>> solveNQueens(int n) { vector<vector<string>>ans; vector<string>board(n,string(n,'.')); ve..
原创
发布博客 2021.11.01 ·
147 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

417.太平洋大西洋水流问题

解题思路:一开始自己的思路是看每一个点是否能流到太平洋和大西洋,很复杂,各种细节考虑不到。看了题解觉得这个方法很好,记录一下。我们从四个边开始往高处走,能走到的位置就是能流到对应边旁边的洋流。can_reach_p,(太平洋 pacific)代表能到达太平洋;can_reach_a,(大西洋 atlantic)代表能到达大西洋。假如某个点的can_reach_p和can_reach_a都为true,说明符合条件。具体思路看代码。class Solution {public: vec.
原创
发布博客 2021.10.31 ·
132 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

240.搜索二维矩阵II

解题思路看到两个关键词,有序+寻找目标值,很自然的想到二分查找。当二维数组中的某一行首元素<=target,并且尾元素>=target 时,那么target可能在这一行。因此,首先寻找所有可能有target的行,保存在数组中。接下来对这些行,进行二分查找,找到就返回true,没找到就对下一个符合条件的行进行二分查找。假如最后都没有找到target,那就是matrix二维数组中不存在target,返回false。class Solution {public: bool b_.
原创
发布博客 2021.10.25 ·
163 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

81.搜索旋转排序数组II(数组旋转后二分查找)

记录一下:if(nums[left]==nums[mid]){ //无法判断哪个区间是升序的 ++left; }假如是上面这种情况,反正是寻找有无target,两个元素相等,直接让left往右移动一个,直到能够判断左边还是右边是升序!class Solution {public: bool search(vector<int>& nums, int target) { .
原创
发布博客 2021.10.21 ·
101 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

524.通过删除字母匹配到字典里最长单词

思路:因为要找长度最长且字母序最小的字符串。因此先对dictionary进行排序,按字符串长度降序,假如长度相同就按字母序,即默认的string排序即可。接下来遍历dictionary每一个string元素,记为dic,看是否满足要求。辅助函数,判断dic是否是s的子串:假如dic长度大于s,那么必然不可能由s删除字符得到dic,返回false;否则就用双指针的方法,判断即可,具体流程见代码。class Solution {public: bool help(const stri..
原创
发布博客 2021.10.21 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

665.非递减数列

思路:初始化一个bool类型的变量flag,true表示改动的次数未用,false表示改动的次数用掉了。先看一下前两个元素是否满足非递减要求,不满足flag初始化为false。从nums[1]开始,每次和后面一个元素比较,假如不满足非递减,就选择下面两种情况中的一个改变元素:1 [3,5,4,6] 5>4且4>3,那么要把5变成4;即i=1,nums[i+1]>=nums[i-1]; nums[i]=nums[i+1];2 [5,6,3,7] 6>3且3<5,那..
原创
发布博客 2021.10.20 ·
103 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

406.根据身高重建队列

思路:按身高降序排列,假如身高一样就按升序排列。接下来,创建一个数组ret保存结果,遍历people数组;people第二个元素的值就是该people要插入数组ret中的位置,因为身高是按降序排列,而身高相同则按k升序排列,因此一定不会影响到后面的元素,如下图所示。class Solution {public: vector<vector<int>> reconstructQueue(vector<vector<int>>& peo.
原创
发布博客 2021.10.20 ·
211 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

453.最小操作数使数组元素相等

关键:让n-1个元素加1,就相当于选一个元素-1;选n-1个元素加1,加到所有元素相等,就相当于选1个元素减1,减到所有的元素都等于最小元素。class Solution {public: int minMoves(vector<int>& nums) { //得到nums中的最小元素 int min_val=INT_MAX; for(auto num:nums) { min_va..
原创
发布博客 2021.10.20 ·
172 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

union中有struct的情况-从内存分析

union中的每个成员共用一块内存,且首地址相同;这块内存必须大于等于union中最大成员的字节数。举个例子:union U中有两个成员,一个是int型的a,4个字节;一个是结构体STU,考虑对齐,16个字节。struct STU { int b; long long c;};union U{ int a; STU stu;};首先使用结构体初始化union U,查看其内存分布情况:U u; STU m_stu; m_stu.b = 6; m_stu.c = 66;
原创
发布博客 2021.09.28 ·
1097 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏
加载更多