自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(272)
  • 收藏
  • 关注

原创 leetcode 922. 按奇偶排序数组 II

方法1:我先想的是遍历一遍数组,在遍历时,把奇数放到一个数组,把偶数放到另一个数组。然后再重新遍历一遍,这次遍历时,下标是奇数就从奇数数组依次取数据,下标是偶数就从偶数数组取数据。耗时40 msclass Solution {public: vector<int> sortArrayByParityII(vector<int>& A) { int length = A.size(); vector<int> o

2020-11-03 21:40:23 207

原创 leetcode 1232. 缀点成线

这道题的思路就是求斜率。斜率不同的话就不是同一直线。要注意的是求斜率时,k是double类型的所以在做除法时加上 "1.0",我就是忘了这一点,检查了很久白白浪费了很多时间。耗时20msclass Solution {public: bool checkStraightLine(vector<vector<int>>& coordinates) { if(coordinates.size() == 2) return

2020-11-02 21:25:50 178

原创 leetcode 1539. 第 k 个缺失的正整数

我先想的是把已经有的所有数放到set里面,然后从1开始,如果不能在set里找到当前的数,k就减1。用时32msclass Solution {public: int findKthPositive(vector<int>& arr, int k) { set<int> existing(arr.begin(),arr.end()); int i = 0; while(k) {

2020-10-28 21:38:07 277

原创 leetcode 747. 至少是其他数字两倍的最大数

在看题目的示例2时,给了我启发,要想一个数是其他所有数的2倍以上,那它只需要是第2大的数两倍以上。所以就变成了遍历一遍数组,找出其中的最大数和第2大的数,然后比较是不是2倍。用时0msclass Solution {public: int dominantIndex(vector<int>& nums) { if(nums.size() == 1) return 0; int max1 = IN

2020-10-28 20:23:11 155

原创 leetcode 1266. 访问所有点的最小时间

这道题我刚开始还分情况讨论,尝试去根据两个点的正负号讨论,所以开始代码写的很丑,但最后发现都可以归纳为一种情况。两个点的距离 = max( abs(x0-x1), abs(y0-y1) );用了12msclass Solution {public: int minTimeToVisitAllPoints(vector<vector<int>>& points) { if(points.size() == 1) .

2020-10-26 20:58:22 94

原创 leetcode 1160. 拼写单词

先把“字母表”的字母统计保存在map里然后遍历每个字符串。用了一个字符,就在map里把这个字母个数减1,不管该字符串能不能遍历完,都要在map里把字母个数加回去。以便遍历下一个字符串时用。耗时132msclass Solution {public: int countCharacters(vector<string>& words, string chars) { map<char,int> char_table;//<字母,字母

2020-10-24 11:05:38 74

原创 leetcode 1331. 数组序号转换

用的比较笨的方法,耗时也长 488ms。class Solution {public: vector<int> arrayRankTransform(vector<int>& arr) { vector<int> a;//保存没有重复元素的数组 map<int,int> b;//帮助去重复元素,<arr[i],个数> for(int i =0;i<arr.size();+

2020-10-24 10:27:42 136

原创 leetcode 1534. 统计好三元组

这道题我只会三重循环的方法。如果 i 和 j 的条件满足,k从j+1开始找是否有满足条件的。用了68msclass Solution {public: int countGoodTriplets(vector<int>& arr, int a, int b, int c) { int cnt = 0; for(int i =0;i<arr.size();++i) { for(int j =i

2020-10-22 21:30:06 146

原创 leetcode 605. 种花问题

我的想法是,如果第i个花坛的左右都是空的话,在这个花坛就种下花,即,flowerbed[i]=1并且n--,表示种下了一朵。然后遍历完整个数组后,判断n朵花是不是都种完了。在这里要注意边界,边界只需要判断它的一侧是不是可以种花。然后还有特殊情况是只有一个花坛时,所以我又把它单独拎出来判断。这道题我的代码用时48ms,而且也写的真的很丑 - -class Solution {public: bool canPlaceFlowers(vector<int>& flo.

2020-10-21 21:30:44 119

原创 leetcode 219. 存在重复元素 II

这道题我首先是用的暴力法,超时。下面这个方法是用个map保存 数和它的下标。这个方法通过了,但是用时需要106msclass Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { map<int,int> mapIndex;//<数值,下标> for(int i = 0 ;i<nums.size() ;i++)

2020-10-20 21:21:46 104

原创 leetcode 628. 三个数的最大乘积

我在草稿纸上列举了一些有正数有负数的数组,列了多种情况,然后找规律发现,三个数的最大乘积的情况是两种:1.三个最大的数相乘;2.两个最小的数乘1个最大的数。所以主要要做的就是循环数组一遍,找出其中最大的3个数,以及最小的两个数。class Solution {public: int maximumProduct(vector<int>& nums) { if(nums.size() == 3) return nums[0]*num

2020-10-18 11:37:29 84

原创 leetcode 977. 有序数组的平方

第一种方法:比较暴力。把负数取绝对值变成正数,然后排序,再挨个平方。class Solution {public: vector<int> sortedSquares(vector<int>& A) { for(int i =0;i<A.size();++i) { if(A[i]<0) { A[i] = -A[i];

2020-10-18 10:38:35 84

原创 leetcode 1588. 所有奇数长度子数组的和

我通过的代码在耗时和内存消耗上并不是很优的,记录一下我这比较笨的人的通过的相对好理解的代码class Solution {public: int sumOddLengthSubarrays(vector<int>& arr) { int sum = 0; int tmp_sub_arr_sum; int start,end; for(start = 0;start<arr.size();++start

2020-10-17 11:34:05 123

原创 《视觉SLAM十四讲》第5讲学习笔记

2020-05-20 18:40:58 286

原创 《视觉SLAM十四讲》第3讲学习笔记

2020-05-20 17:52:09 219

原创 《视觉SLAM十四讲》第2讲学习笔记

经典SLAM视觉框架视觉里程计关心相邻图像之间的相机运动。后端优化主要是指处理SLAM过程中的噪声问题。回环检测主要解决位置估计随时间漂移的问题。建图是指构建地图的过程。

2020-05-14 21:07:58 266

原创 信息的表示和处理

int32_t 和 int64_t 分别为4个字节和8个字节,数据大小固定,不随编译器和机器设置而变化。在内存中按照从最低有效字节到最高有效字节的顺序存储对象,小端法。按照从最高有效字节到最低有效字节的顺序存储对象,大端法。文本数据比二进制数据具有更强的平台独立性。二进制代码是不兼容的,很少能在不同机器和操作系统组合之间移植。在整数运算中,每个值x有一个加法逆元-x,使得x+(-x...

2020-03-01 17:05:21 225

原创 几个贯穿计算机系统的重要概念

1.Amdahl定律主要思想是,当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。若系统执行某应用程序需要时间为,假设系统某部分所需的执行时间与该时间的比例为a,而该部分性能提升比例为k,即该部分初始所需时间为,现在所需时间为.总的执行时间为加速比为定律的主要观点,要想显著加速整个系统,必须提升全系统中相当大的部分的速度。性能提升最好的表示方法...

2019-07-07 11:00:50 211

原创 程序转变成可执行文件的过程,hello程序为例

#include<stdio.h>int main(){ printf("hello, world\n"); return 0;}hello.c源程序(文本)----预处理器(cpp)---->hello.i修改了的源程序(文本)-----编译器(ccl)---->hello.s汇编程序(文本)------汇编器(as)------>...

2019-07-06 21:41:46 1989

原创 MATLAB得到的图片保存时尽量减少损失,保存高分辨率图

我的一个跑了一个多星期的图,发现另存为了.jpg后或.png后,图片损失很大,然后学习了一下保存时尽量不损失的方法用了大家所说的edit->copy figure的方法,但我的图可能实在太大了吧,都不能复制粘贴。所以除了copy figure外,还可以如下:为了以后能对图操作,你可以先把图另存为.fig,以后还是可以用matlab打开,然后:File -> Export...

2019-03-27 09:58:45 4898

原创 好未来C++后台(1,2,3技术面+一轮HR面)

今天一下午时间,面试体验很好,很多很多的小姐姐,可以说是我面试过的公司中,小姐姐最多的一次了。所有人都很nice1面:现在来了解下你的基础:(顺序忘了,问题可能有遗漏)1.堆和栈的区别2.指针和数组的区别3.线程和进程的区别4.select,epoll5.流量控制,拥塞控制6.chmod,chown,grep,awk有哪些作用,其中grep显示行号的参数7.写一...

2018-09-26 20:54:44 1172

原创 中兴一面

1.工作地点2.了不了解Linux内核3.写一个客户端服务端4.拜拜了您嘞毫无面试体验

2018-09-26 20:42:54 454

原创 联发科一面

居然挂了联发科一面,无语2个面试官对1个面试者除了讲项目外,都是些简单的C++问题,实在没啥可说的其中一个女面试官应该是HR那一类的,时不时会问些非技术问题...

2018-09-26 20:41:55 3649 1

原创 百度测开三面

19号最后一面了,本来是想随便面下,感受下大厂的,没想到到了三面,但是最后还是挂了,哎,白白期待了几天感觉就是聊天,中间穿插的问过(顺序忘了,有可能有些问题也忘了):1.输入一个网址,接下来发生了什么。三次握手具体是怎么回事2.微信上怎么给好友发消息,这个过程是怎样的3.删除了聊天记录的话,要怎么找回4.写一个SQL查询语句,查询最大的什么来着,忘了5.测试一个注册页面上的...

2018-09-26 20:40:06 873

原创 百度测开二面

1.自我介绍2.简单问了下项目3.为什么投这个岗位,怎么学习的4.一道数学题。记不到具体数据,大致就是一个牧场,27牛吃几天吃完,又23多头又吃多天,求现在有21头要吃多天,已知草在生长我不知道我到底哪里算错了。。。。5.一些已分词的词语,求多少个有序子序列6.怎么判断一个字符串是合法的IP地址7.怎么理解测试8.遇到问题是怎么解决的9.有什么疑问想问的...

2018-09-17 20:49:47 605

原创 百度测开一面

9.15 本来预约的这一天,但由于有比赛,改到了前一天,结果前一天有事,又换回来了1.自我介绍2.项目。。3.写冒泡排序,时间复杂度4.怎么判断一个数是2的n次幂5.进程间通信方式6.1G的记录怎么保存,用什么数据结构,如果是1T又怎么办。有没什么方法提高性能7.怎么测试一个电梯8.为什么投这个岗位9.有什么想了解的 ...

2018-09-17 20:45:05 243

原创 招银电面

9.12路边面的。。。。正式现场面之前电话面筛选一波1.自我介绍2.大概问了下项目3.重载和重写的区别4.三次握手5.链表和数组有什么区别6.进程间的通信方式7.怎么判断链表有没有环...

2018-09-17 20:39:29 1951

原创 华为

8.26下午面的玄学华为,优招,一面+综合面,综合面挂。几乎没什么可说的1面,讲项目,写了个【树】的结点的结构体,写了个把字符串排序综合面,没技术问题,聊天,然后聊完就挂我是周围同学中唯一挂了华为的,心塞至极...

2018-09-17 15:56:42 395

原创 多益

整个流程总共就一面。8.24视频面1.自我介绍2.怎么看待互联网加班3.怎么看待996,你能接受吗(我说的只要我身体不倒,我就能,直接把面试官都说笑了)4.讲下项目,你做过什么 5.怎么推送广告6.手写代码,大数加减(麻蛋没写好)7.斐波拉契数列怎么求,不用递归8.怎么求第n项9.了不了解智能指针10.空闲时间干嘛,看什么书11.哪方面你比较了解,随便讲一下12.了不...

2018-09-17 15:53:22 550

原创 SQL基础查询题

https://wenku.baidu.com/view/c7b4cfc5c850ad02de8041a0.html?re=view

2018-09-15 12:15:42 217

原创 括号匹配

比如’(‘和’)’,前者可称为左侧符号,后者可称为右侧符号。在做符号匹配时,如果以左侧符号为标准,左侧符号需要右侧符号来完成匹配,但是由于诸如括号这类的符号可以做嵌套,所以左侧符号之后既能有左侧符号,也能有右侧符号,处理起来很麻烦。以右侧符号为标准就没有这个问题了,每一个右侧符号都需要一个左侧符号来匹配,并且要求该右侧符号之前最近的一个符号必须是相匹配的左侧符号。​ 利用栈可以很容易地解决...

2018-09-15 10:57:45 184

转载 软件测试常考问题

原文:https://www.nowcoder.com/ta/review-test?query=&amp;asc=true&amp;order=&amp;page=1什么是软件测试?答:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的...

2018-09-13 17:44:21 1135 1

原创 28.实现strStr()

class Solution {public: int strStr(string haystack, string needle) { //用KMP算法,KMP的具体过程已写在博客 //大致来说,首先是得到这个字符串的前缀表 //然后把前缀表后移,处理成前缀表第一个元素是-1 //再KMP if(ne...

2018-09-13 16:52:19 248

原创 21.合并两个有序链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode*...

2018-09-13 16:50:58 131

原创 9.回文数

class Solution {public: bool isPalindrome(int x) { //如果是负数,直接返回false //如果是0,肯定true //否则,就从后往前依次取每一位,重新组成新的数,比较是否相等 if(x&lt;0) return false; ...

2018-09-13 16:48:34 139

原创 7.反转整数

class Solution {public: int reverse(int x) { //将每一位保存进数组中,然后挨个乘以10的对应次方,求和加起来就行 //注意负数, -123%10 = -3,所以保存在数组中的数是【-3,-2,-1】 //-3*10^2 + -2 * 10^1 + -1 = -321,就得到了结果 ...

2018-09-13 16:43:57 133

原创 操作系统学习笔记——进程间通信IPC

概述(a)是一种间接通信。A把消息发到内核,内核再转到B(b)直接通信。直接通信:进程必须正确的命名对方: send(P,message) - 发送信息到进程P receive(Q,MESSAGE) - 从进程Q接收消息通信链路的属性 自动建立链路 一条链路恰好对应一对通信进程 每对进程之间只有一个链接存在 链接可以是单向的,...

2018-09-13 12:35:07 182

原创 746使用最小花费爬楼梯

 class Solution {public: int minCostClimbingStairs(vector&lt;int&gt;&amp; cost) { //动态规划,确定好状态,dp[i]表示跳到i阶花的代价 //所以最后爬完楼梯花费代价是dp[n],注意不是n-1,因为需要爬完整个楼梯 //状态转移方程:dp[i] ...

2018-09-10 20:19:07 248

原创 1.两数之和

class Solution {public: vector&lt;int&gt; twoSum(vector&lt;int&gt;&amp; nums, int target) { //用一个map&lt;int,int&gt;保存&lt;数,下标&gt; //对于每个nums[i],在map里找有没有和他加起来等于target的数 ...

2018-09-10 19:21:20 149

原创 修路

JD测试开发笔试题,修路。题目提炼出来就是【找出两条路径的长度乘积最大,要保证这两条路径没有公共的点,如果找不到就输出0】,这是一道原题【Codeforces Beta Round #14 D - Two Paths】。学习了很久终于明白了这道题怎么做的。对于每条边,我们依次把这条边去掉的话,就可以把原图分割成了两棵树,然后就成了求这两棵树的最远两个节点的距离,然后把两棵树求出来的结果...

2018-09-09 23:26:46 290

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除