自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣刷题记录13

最近每天晚上和室友做力扣 ,白天整理下。16. 最接近的三数之和这里室友想到的解法是贪心,不断缩小,但最终我们判断这种方法不可行。我想到的解法是先排序,对有序数组的前两个数都是遍历找到的,第三个数通过二分找,这样时间复杂度是O(n²logn),也没有缩小很多。。。最后,我们看了答案。从答案中有两点可以学习到。一是记得调用abs数学函数,另外要记得在有序数组中找两个数相加和目标值最接近的寻找方法是O(n)复杂度,即题解的做法。下面是官方题解:class Solution {public:

2020-12-09 13:28:01 190

原创 力扣刷题记录12

剑指 Offer 56 - I. 数组中数字出现的次数这个我想到啦!!!最近被位运算折磨的太惨了,想到了同一数同一位运算符操作两次还原的问题。于是就想到了这个办法,但是对位运算掌握 太差了,只好看题解。。。想到算法已经很开心啦!位运算要学习,不能拖。另外题目条件要看仔细,全用到!题解:class Solution {public:vector singleNumbers(vector& nums) {int ret = 0;for (int n : nums)ret ^= n;in

2020-12-08 15:47:00 188

原创 记录腾讯PCG后台开发实习一面,感觉凉凉。。。

因为一面前一天是笔试,所以他那里留了笔试题。开始问了有没有考研的打算,我说没有。。1.简要介绍下关于笔试题自己的想法。笔试题目:1.合并有序链表。2.并查集的应用。3.哈希表 。4.中位数的问题,比较简单。5.这题没时间看。。不记得。。问了下第四题如果字符串数量很大怎么哈希?我说可以用哈夫曼树压缩以下。面试官愣了一下,很显然这不是面试官想要的答案。。。。2.面试官看了简历后问:看你的成绩不是特别好也没参加过竞赛,想知道你时间都用哪了。我:大一大二听完课就打游戏去了。。。。。。很后悔这么回答。。

2020-12-06 16:11:45 708 3

原创 力扣刷题记录11

有几天没有写力扣了,这几天事情实在有点多。听了几场就业的经验分享,仔细想了一下自己的情况,决定放弃考研,去找个工作了。目标:寒假好好学习->春天找个好点的实习->秋招找个好点的工作。加油吧!后面刷力扣会多做点题目,每天两个简单题找手感。1013. 将数组分成和相等的三个部分这个题目没什么说的,就是几次遍历。第一次算出所有元素和,然后存下来元素和除以3。还是和以前一样,特殊情况直接返回false,这里的特殊情况就是和不能整除3的情况。后面就是遍历,每当当前累加的curSum不等于sum/3时

2020-12-04 16:28:23 152

原创 力扣刷题记录10

三角形的最大周长看到这个题目,我想到了排序后从最大的中挑选,但遇到了点困难,一方面是无法记录哪个是最大的点,这样每次都要判断。另一方面是根据题目要求,每个数只能用一次,要记录下当前哪些是已经被使用了的。看到题解之后感觉自己是个智障。。。class Solution {public: int largestPerimeter(vector<int>& A) { sort(A.begin(), A.end()); for (int i = .

2020-11-29 20:58:44 79

原创 解决安装virtualbox出现回滚并显示“出现严重错误”的问题

virtualbox安装时出现了回滚,把CSDN前两页的方法都试了以下。。。发现不太行。网上的方法大多是说启动device install等两个服务,但在我的电脑上并不适用。想起之前安装过别的版本的virtualbox和vmware虚拟机,想到是否和它发生了冲突,于是就将其均卸载并在注册表中删除了和这两个有关的文件。1.打开注册表2.点击编辑后查找virtualbox3.按F3查找下一项每找到一个都按delete删除注意查找进度可以从滚轮中看出,当查找到virtual而不是virtualbox时

2020-11-29 17:26:59 4096

原创 力扣刷题记录9

力扣刷题记录9今天比较划水,只看了个简单题和中等题。500. 键盘行这个没什么说的,直接写了个数组存储然后遍历。但比较开心的是结果很好这里是代码```cppclass Solution {public: vector<string> findWords(vector<string>& words) { int A[70]={1,2,2,1,0,1,1,1,0,1,1,1,2,2,0,0,0,0,1,0,0,2,0,2,0,2,

2020-11-28 21:14:08 115

原创 力扣刷题记录8

454. 四数相加 II给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。看到这个题目我以为会用递归,即先找到一个A[i],再使得接下来的问题变为,找到B[j]+C[k]+D[l]=-A[i],但显

2020-11-27 15:51:24 113

原创 力扣刷题记录7

力扣刷题记录71370. 上升下降字符串今天的每日一题是一道简单题。就是看到这个题目就想到了一个暴力点的解法,先对字符串排序然后不断从前向后遍历和从后向前遍历,找出合适的串。但还是写了很久,主要是对stl的操作不太熟悉。学习到了对字符串排序:sort(temp.begin(),temp.end());还有用迭代器反向遍历,需要注意应该使用for(string::reverse_iterator c=temp.rbegin();c!=temp.rend();)而不能用c=end(),c!=begin()

2020-11-25 10:52:53 94

原创 力扣刷题记录6

力扣刷题记录6222. 完全二叉树的节点个数刚开始看到这个题目,就决定采用遍历的方法,对树进行遍历然后累加。但看到题目是完全二叉树,想着要用到这个条件。后面遇到了点困难:怎么确定最大层数有几个叶子节点?这个没有解决,便暴力求解了,年轻人不讲武德哈哈哈。在看到题解后感觉它的解法十分巧妙,下面贴出,以后要学习。需要注意的点是先判断root是否为null,不论什么问题,这个要记住。这里要学习的是位运算的运用,计算机幂运算是很慢的,但是位运算却很快,因此用位运算来代替实现以2为底的幂运算可以大大加快速度,这

2020-11-24 20:21:01 123

原创 力扣刷题记录5

力扣刷题记录5用最少数量的箭引爆气球开始看到这个题目想到了会用到排序,但以为会是不断记录重叠区间然后检查每个气球是否有点在这里。显然,这样将问题变得更加复杂。最简化的解答是题解的方式,类似并查集,只检查是否有重叠,而忽略重叠区间到底是多少。看到题目的评论发现一个需要注意的问题是:[[-2147483646,-2147483645],[2147483646,2147483647]]这个数据样本。因为有些人的快排使用的是减法来判断,这样两个并没有溢出的数字相减却发生了溢出,需要注意。后面有时间要学习一

2020-11-23 21:20:30 205

原创 力扣刷题记录4

力扣刷题记录4第一道题是一个很有意思的题目剑指offer64求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。没思路。。。看的答案。果然是我不熟悉的位运算。以后有时间要好好学习下位运算,代码就不贴了,是力扣题解。848字母移位有一个由小写字母组成的字符串 S,和一个整数数组 shifts。我们将字母表中的下一个字母称为原字母的 移位(由于字母表是环绕的, ‘z’ 将会变成 ‘a’)。例如·,shift

2020-11-21 10:56:05 455

原创 力扣刷题记录3

力扣刷题记录3这是对昨天的补过。这两道都是对链表的排序,发现自己链表学的真的是烂。一下几点是力扣链表题需要注意的操作:1.力扣的指针在使用前要判断是否为非空才能使用。2.力扣的head指针是存储数据的,最好在写一个真正的head便于操作。3.对链表遍历时可以考虑快慢指针,这是一个很好的技巧。4.归并排序的递归思想要理解好。5.要先判断head是否为空,为空直接return。这种通常也是递归的终止条件。6.对链表进行操作时(增删),注意不要出现循环链表。7.有序链表的合并操作是基础!!!

2020-11-21 09:33:29 85

原创 力扣刷题记录2

力扣刷题记录2283-移动零,和一些思考第一题是每日一题的简单题。需要记的并不多,一是用迭代器对vector的一些基本操作。可以参考这里for(vector::iterator iter=num.begin();iter!=num.end();iter++){if(*iter==k){num.erase(iter);break;}}另外是快排的思想。这种思想实用性很广,即使不需要排序,在找出最大的k个数,对数组进行分割(以中间点为基准)等可以大大降低时间复杂度。下面是找出最大的k个数的快排

2020-11-19 20:56:29 197

原创 力扣刷题记录

这里写自定义目录标题力扣刷题记录134加油站题目1432. 改变一个整数能得到的最大差值力扣刷题记录马上要进入大三下学期,准备考研的生活。为了提高考研复试的竞争力,准备在这段时间做一些算法题目,目标是每天至少两道力扣中等题目,希望可以好好坚持。为春季pat做好准备。目标:每天两道力扣中等题目和解题记录。每周力扣复习记录,回顾当周完成的题目。134加油站题目中文说明如下:在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站

2020-11-18 21:41:04 714

空空如也

空空如也

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

TA关注的人

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