- 博客(102)
- 资源 (1)
- 收藏
- 关注
原创 蔚来笔试(软件开发)面经整理
linux下查看系统启动时间的命令https://www.cnblogs.com/kerrycode/p/3759395.htmlwho -blast reboottopwuptimecat proc/uptime以下程序执行的结果:char *foo() { char x[512]; sprintf(x, "1,2,3,4,5,6,7,8,9,0"); return x + 6;}int main() { printf("%s", foo().
2021-07-17 22:36:16 1601 1
原创 数据结构与算法(排序)
冒泡排序#include <iostream>#include <vector>using namespace std;void bubblesort(int n,vector<int>& ve){ for(int i=1;i<=n;i++){ int sp=0; for(int j=n;j>=i;j--){ if(ve[j]<ve[j-1]) {
2021-07-03 21:27:24 215
转载 mysql数据库总结
https://blog.csdn.net/weixin_49199646/article/details/114489443
2021-06-20 10:59:01 173
原创 c++面试题
1.面向对象的三大特性封装隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互。封装实际上是由编译器识别关键字public,private,和protect,体现在类的成员可以有公有成员(public),私有成员(private),保护成员(protect)。私有成员是封装体内被隐藏的部分,只有类的成员函数财可以访问私有成员,而在类体外的函数是不能访问的。公有成员是封装体与外界的一个接口,类体外的函数可以访问公有成员;保护成员是只有该类的成员函数和该类的派生类才可以访问的。封装的作用是:降低
2021-06-18 16:17:29 404
原创 网络编程面试题
1.linux高并发之IO多路复用select,poll和epoll的区别IO多路复用:就是假设现在要设计一个高性能服务器,需要多个客户端与之连接,采用多线程的话多线程切换带来的开销太大。所以就会考虑采用单线程的方式,解决方案就是IO多路复用,IO多路复用一般有select(),poll(),epoll()方式,他们都是对连接进服务端的客户端socket进行监控,例如现在有100个客户端socket,那么就监控这100个,如果这100个socket有信息进入,则IO多路复用就会返回,否则,就阻塞。即IO
2021-06-02 16:11:15 256
原创 计算机网络面试题
1.OSI7层网络模型应用层、表示层、会话层、运输层、网络层、链路层、物理层2.TCP/IP四层网络模型应用层,运输层,网际层,接口层综合OSI和TCP/IP模型,学习五层网络模型:从上向下架构:应用层,运输层,网络层,链路层,物理层3.MTUMaximum Transmission Unit,最大传输单元,MTU其实是相当于网络传输里每个节点的管控值,只要是大于这个值的数据帧,要么分片,要么直接丢弃。4.MAC地址MAC地址,集成在显卡,由48位的16进制数字组成,0~23位数字叫做组
2021-06-01 16:46:31 181 3
原创 操作系统面试题
1.进程,线程和协程的区别进程,直观点说,保存在硬盘的程序运行以后,会在内存空间形成一个内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠的是操作系统。操作系统会以进程为单位,分配系统资源(比如CPU时间片,内存等资源),进程是资源分配的最小单位。线程,有时被称为轻量级线程,是操作系统调度的最小单位。线程和进程的区别与联系:区别:调度:线程作为调度和分配的基本单位,而进程作为拥有资源的基本单位;并发性:不仅进程之间可以并发执行,同一个进程的多个线程也可以并发执行。拥有资源:进程
2021-05-31 16:57:06 205
原创 近期工作
leetcode刷题,每天五道华为软件比赛:资源调度问题目标检测,目标跟踪开源opencv库源码学习基于元学习的目标跟踪论文阅读全景视觉直线特征检测写论文计算机基础:c++;java;计算机系统;计算机网络;数据结构与算法;...
2021-03-10 14:11:21 130
原创 argparse使用
argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。主要先学三个函数一个是先创建一个解析器,通过调用函数argparse.ArgumentParser()完成还用就是添加参数,具体就是如何解析命令行的参数parser.add_argument解析参数,parser.parse_args()完成impo
2020-12-15 20:10:24 269
原创 Linux的文件权限和目录配置
前言linux是一个多人多任务环境,理解文件权限和目录配置对于使用Linux具有很大帮助1. 用户与用户组Linux的文件可读写身份有三个:分别是:拥有者(owner)我写的文件,我就是拥有者;所属群组(group)我写的文件,我的团队可以编辑,我和我的团队是一个群组;其他人(others)和我文件不相干的人。root可以访问任何文件,在Linux里面任何文件都具有用户,所属群组,及其他人的三种身份的个别权限2. Linux文件权限概念1. Linux文件属性切换身份
2020-10-12 19:46:25 130
原创 笔记本声音消失问题记录
之前出现过这个问题,但是原因一般出现在声驱上,使用驱动人生软件就能把错误检测出来并恢复。但这次声驱并没有坏,原因是播放设备设置出现了问题,因为自己笔记本外接了实验室的显示屏,显示设备不小心被切换到了实验室的显示屏上,所以导致笔记本没有声音。解决方法:出现上面的界面,切换即可...
2020-10-01 14:56:58 190
转载 anaconda清华源下载速度慢?
感谢https://me.csdn.net/download/weixin_42542144摘自该博主的评论清华源最近支持不好,下载速度特别慢,可以参考下面pip install -i https://pypi.douban.com/simple 你想下载的包的名称
2020-07-17 16:44:52 2917
原创 Sophus库安装使用记录
前言本篇博客是基于《视觉slam十四讲》的实例程序进行学习的,在第5讲相机与图像中关于RGB-D视觉的示例程序,用到Sophus库安装过程拷贝源码git clone https://github.com/strasdat/Sophus.git进入源码目录cd Sophus创建build目录,cmake工程编译做准备mkdir build编译cmake …出现了一些警告,但是不影响库的使用,就没有管make报出如下错误参考了网上的解决方案,修改源码解决问题make成功截图
2020-07-05 23:04:06 350
转载 ubuntu Pangolin 从源码安装
笔者最近在调试ORB-SLAMV2 在编译过程中发现,ORB-SLAMV2需要依赖Pangolin。本文主要用于介绍怎么从源码安装Pangolin。准备工作sudo apt install git sudo apt install libglew-dev sudo apt install cmake sudo apt install libboost-dev libboost-thread-dev libboost-filesystem-dev下载源码git clone --depth=
2020-07-05 22:33:46 456
原创 凸包算法(高级算法设计与分析实验1)
凸包问题求解凸包问题:输入是平面上n个点的集合Q,凸包问题是要输出一个Q的凸包。其中,Q的凸包是一个凸多边形P,Q中的点或者在P上或者在P中。实现基于枚举方法的凸包求解算法提示:考虑Q中的任意四个点A、B、C、D,如果A处于BCD构成的三角形内部,那么A一定不属于凸包P的顶点集合。这一方法属于暴力解法,任意枚举点集中的四个点,如果有一个点在其他三个点构成的三角形内部,则将这个点从点集中剔除。实验主要是通过python来实现的,先定义一个平面点类。代码自动生成二维平面[0,0]到[100,100]
2020-06-07 17:39:45 1561
转载 GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名
1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名字3。为什么会出现undefined reference to 'xxxxx’错误?首先这是链接错误,不是编译错误,也就是
2020-05-15 17:35:47 802
原创 Ros学习笔记(一)
Ros工程结构一个典型的Ros工程如下图所示catkin工作空间组织管理功能包的文件夹,通过catkin编译工作空间建立工作空间mkdir -p -/catkin_ws/srccd -/catkin_ws/catkin_make编译cd ~/capkin_ws/ #回到工作空间capkin_make #编译source ~/capkin_ws/devel/se...
2020-05-07 20:00:59 351
原创 Anaconda安装和Vscode配置记录
前言自己接触python也有将近一年的时间了,也写过一些实验和作业,但是电脑里面装的库文件比较乱,因此把之前安装的相关文件全部卸载了。这篇博客记录了安装Anaconda和配置vscode的过程。安装Anaconda安装Anaconda的主要是为了便于管理不同版本的Python环境和相应的包,这对以后的学习工作会有很大帮助。下载Anaconda官方网址清华源因为官方网址是外网,往往会...
2020-04-28 15:09:54 10968 3
原创 opencv invert()函数使用问题记录
参考博客CV_8UC1/2/3OpenCV求逆(伪逆)矩阵函数invert()介绍invert是opencv自带的求解逆矩阵或者伪逆矩阵的函数,具体形式如下:double invert(InputArray src, OutputArraydst, int flags=DECOMP_LU);src: 输入,浮点型(32位或者64位)的M×N的矩阵,当参数3的使用方法为DECOMP_C...
2020-04-26 23:18:49 5826 1
原创 Ubuntu18.04 安装ROS过程记录
参考博客https://blog.csdn.net/haiyinshushe/article/details/84256137#commentBoxhttps://blog.csdn.net/qq_35515203/article/details/100592556#commentBox前言ROS是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机...
2020-04-24 15:33:04 1040
原创 (六)数据类型与类型检查
尽可能使用不变数据类型types in java基本数据类型(代价低)对象数据类型(代价高)能使用基本数据类型就尽量使用基本数据类型eclipse在开发者写每一行代码时都在后台偷偷地调用编译器,及时帮助开发者减少代码错误静态代码检查(类型错误)动态代码检查(值错误)s没有指向不带空格的地址输出abc输出abcde...
2020-03-16 10:10:07 156
原创 谷歌浏览器如何安装插件
前言由于谷歌浏览器商店有时候被墙,我们不能直接下载安装我们想要使用的插件,这篇博客介绍一种可行的办法下载插件以眼镜护航插件为例,百度可以下载的地址并下载下载得到后缀为.crx的插件更改插件直接将下载好的插件重命名,将后缀改为.zip将重命名得到的压缩包进行解压加载插件找到更多工具,打开拓展程序打开开发者模式,加载已解压的扩展程序,选择上一步解压的插件文件加载效...
2020-03-05 17:48:27 1643
原创 (四)软件生命周期与配置管理
第二章关注的内容开发过程有无到有,从有到好两种基本的软件周期模型线性过程(全部写完之前用户看不到)迭代模型(边写边修改)更多模型(在两种基本模型的基础之上)瀑布模型问清需求后,一股脑开发下去增量模型瀑布的串行,无迭代,比较容易适应需求的增加原型模型(Prototyping)spiral(螺旋模型)会导致开发周期非常长,但风险降低到最小敏捷开发模型...
2020-03-04 11:48:15 415
原创 c++ vector的size()返回值是unsigned int
今天刷题是遇到的问题,代码语句是这个样子:while(i<nums.size()-2)因为nums.size()返回的的是一个无符号整型变量,如果返回值为0的话,减去1就会变成一个很大的正数。具体有多大呢?我在LeetCode的编译环境下面测试了一下vector<int> s;cout<<s.size()-1;得到的结果:184467440737095...
2020-03-02 12:01:53 1741 2
原创 (三)软件测试与测试优先的编程
课程目标认可测试的价值,测试优先原则学会等价划分和边界值分析方法为模块设计测试用例编写JUnit测试程序,加Testing Strategy使用EclEmma工具度量测试用例对代码“覆盖度”课堂问题分而知之考虑,buildtime单元测试:测试单个模块,保证每一个模块的正确性,测试类,方法等集成测试:模块之间的关系不可避免,多个模块测试系统测试:非软件部分测试,网络接口等...
2020-03-02 09:56:12 373
原创 (二)软件构造的质量目标
软件构造的五个主要目标easy to understand:elegant and beautiful code/understandabilityReady for change:maintainability and adaptabilityCheap for develop:design for/with reuse:reusabilitySafe from bugs:robust...
2020-02-26 13:27:47 605
原创 eclipse使用
接触eclipse这个IDE已经很长时间了,之前也使用过它写过一些编程作业。但是时间长不接触后又忘了基本操作,一方面可能是因为我确实是基本功不扎实,另一方面也提醒了我写博客的重要性。博客可以提醒我之前遇到的坑,提高我的工作效率,应该好好坚持eclipse 新建工程项目eclipse新建里没有Java project解决办法:- 新建Java project填写项目名称ecli...
2020-02-25 22:07:37 238
原创 最邻近算法与图像分类
什么是图像分类图像分类是计算机视觉中真正核心的一类任务,分类系统接收一些输入图像,并且系统已经确定了分类或者标签的集合,计算机的任务就是看这些图片,并且给它分配其中一些固定的分类标签。计算机实际看到的图片是这样的(巨大的数字矩阵):角度问题,照明问题,姿态问题,都会使数字矩阵不同,进而影响计算机的识别数据驱动方法解决图像分类任务我们在解决图像识别问题时,并没有什么直接了当的算法(比如我们...
2020-02-25 12:55:42 554
原创 (一)软件构造过程中的多维度视图
三个维度看软件系统的构成By phases: build- and run-time views 按阶段分:构造时/运行时视图By dynamics: moment and period views 按动态性分: 时刻/阶段视图By levels:code and component views 按构造对选哪个的层次划分: 代码/构建视图我们可以把软件的构造过程看做不同视图之间的转化,...
2020-02-22 14:33:20 436
原创 csdn博客中markdown编辑器插入图片如何改变大小
1.插入图片插入图片的方式如下几种:直接复制粘贴点击上方‘图片’按钮,选择加入链接或者本地上传2.复制插入的图片链接插入图片后我们会有如下的效果(我是直接复制粘贴),注意到图片中的红色链接,将其复制3.查看帮助文档,复制模板点击上侧帮助按钮,找到帮助文档,将带尺寸的图片或者居中并且带尺寸的图片的模板复制下来4.替换模板图片链接将下图中画红线的部分替换成第二步复制的红色链接...
2020-02-22 13:51:59 529 1
原创 LeetCode:700. Search in a Binary Search Tree(二叉搜索树中的搜索)
题目原题链接算法二叉树递归搜索,没什么好说的AC代码(c++)/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(...
2020-02-14 12:44:11 95
原创 LeetCode:1013. Partition Array Into Three Parts With Equal Sum(将数组分成和相等的三个部分)
题目原题链接算法暴力算法肯定时间超时,数组分成3份,利用双指针法可以实现线性时间设第一个指针i=0i=0i=0,第二个指针j=A.size()−1j=A.size()-1j=A.size()−1,接下来判断指针移动的条件因为数组中的元素有正有负,所以我们不能通过比较大小的方式来判断指针移动,那么我们就直接从结果出发,如果有一份的和不等于和的1/31/31/3,我们就移动指针直到不能移动...
2020-02-14 12:37:54 182
原创 LeetCode:836. Rectangle Overlap(矩形重叠)
题目原题链接算法主要两种方法,一种是从正向判断(有正重叠面积的条件),另一种是反向判断(没有正重叠面积的条件)反向判断的条件比较容易想到,就是一个正方形最上面的边在另一个正方形最下面那条边的下面(左右方向同理)正向判断就是反相判断条件的补集AC代码(c++)class Solution {public: bool isRectangleOverlap(vector<...
2020-02-14 11:58:43 196
原创 LeetCode:38. Count and Say(外观数列)
题目原题链接算法题目规定每一项都是上一项的描述,规定第一项是"1",第一项的描述是1个1,因而第二项是"11",第二项的描述是2个1,因而第三项是"21",这样递归描述下去由题意可知,如果想求第n项就必须就第n-1项(在没有打表的情况下),这是很典型的递归结构,因此本题选用递归方法来解决算法过程:1.如果是1直接返回1;2.如果n>1,则求第n-1项;3.在第n-1项的基础...
2020-02-13 17:05:53 120
原创 LeetCode:36. Valid Sudoku(有效的数独)
题目原题链接算法这道题的要求是检验题目给出的九宫格是否有效,只需要检测给出的数字就可以了算法主要需要验证横向,纵向,子宫格是否有重复数字,可以分为三次遍历,也可以一次遍历可以利用公式index=(i/3)∗3+j/3index=(i/3)*3+j/3index=(i/3)∗3+j/3来表示每一个3x3子宫格的下标,(图是盗的)这样检查横向的数字是否重复需要9个哈希表(或数组,因为这...
2020-02-13 14:25:30 223
原创 LeetCode:34. Find First and Last Position of Element in Sorted Array(在排序数组中查找元素的第一个和最后一个位置)
题目原题链接算法题目是对有序数组进行下标的查找,而且要求时间复杂度为log(n)log(n)log(n),因而比较容易想到二分法以往的二分法是查找到一个元素下标就得到题目的结果,但题目要求返回最小目标元素下标和最大目标元素下标,因而在二分法查找结束后还要进行下标指针的移动算法过程大致如下:Created with Raphaël 2.2.0开始特殊情况处理(数组大小为0或为1的情况...
2020-02-13 11:47:24 160
原创 LeetCode: 23. Merge k Sorted Lists(合并K个排序链表)
原题链接算法我采用的是分治法,在原有的Merge Two Sorted Lists的基础上进行改进自底向上先进行两个链表的合并,进而四个链表的合并…如下图所示链表1链表11链表2链表3链表12链表4链表111链表5链表5链表5链表1111AC代码(c++)/** * Definition for singly-linked list. * struct ListNode { ...
2020-02-12 19:37:06 120
原创 LeetCode:27. Remove Element(移除元素)
算法题目要求原地修改,可以采用双指针法定义指针i遍历数组所有元素,定义指针j用来保留剩余元素线性时间AC代码(c++)class Solution {public: int removeElement(vector<int>& nums, int val) { int len=nums.size(); int result...
2020-02-12 14:53:47 122
原创 matlab随机数
常用函数randperm(100, 5),1到100范围内产生5个不同整数5*rand(3,4),0到5范围内产生3行4列随机浮点数
2020-02-10 17:35:38 558
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人