觅杳
觅杳
全部文章
分类
题解(25)
归档
标签
去牛客网
登录
/
注册
坠落星空
风息时休起浪,岸到处便离船
全部文章
(共69篇)
题解 | #数组中相加和为0的三元组#
C++、双指针本题主要利用双指针,在确定一个数据的基础上,利用双指针确定另外两个数据。复杂在于不得重复,即去重语句的考虑。若添加位置错误或考虑欠缺,则会导致结果的减少或重复。 class Solution { public: vector<vector<int> > ...
2021-04-10
0
467
题解 | #加起来和为目标值的组合#
C++, unordered_map,简单省事。这里不用数组充当哈希表的原因是,遍历费时(O( ))。 class Solution { public: /** * * @param numbers int整型vector * @param target i...
2021-04-10
0
526
题解 | #加起来和为目标值的组合#
整体思路很简单。一个一个往后加,直到和等于目标值。这其中,若当前和会大于目标值,则跳过当前数组值,与下一个相加。若当前和小于目标值,则继续往后加下一个数。另外一点就是,去重操作,要注意判重条件的确定。此处,因为每次加和时,开头的第一个数可以重复使用,故而通过i > m,判断是否为第一个数。若不...
2021-04-10
0
740
动态规划、递推
该题与斐波那契数列如出一辙,当前状态只与前两个状态有关,且为前两者之和。利用两个变量保存前两个状态来代替dp数组,可节省空间。 要跳上第n级台阶,要么从第n-1级台阶跳上去,要么从第n-2级台阶跳上去。故而,跳上第n级台阶的可选方案数目,为跳上第n-1级台阶的方案数目和跳上第n-2级台阶的之和。cl...
2021-04-08
0
443
题解 | #二分查找-II#
主体为非递归的二分查找。由于题目要求得到第一个等于target的数据的下标,故而在nums[mid] == target时,多加了一个循环,以查找第一个等于target的数据。class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修...
2021-04-08
3
674
题解 | #求二叉树的层序遍历#
利用队列先进先出的特性,分别将二叉树各个层的结点保存进入队列,使用变量size保存每次队列中元素个数,以保证每一次进入循环后都可将队列清空,即每个结点都被遍历到。/** * struct TreeNode { * int val; * struct TreeNode *left; ...
2021-04-08
0
561
递归三序遍历二叉树
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { private: vector<...
2021-04-07
2
564
快慢指针法
定义一个快指针(一次跨一个),一个慢指针(一个挨一个),在while循环中,让两个指针一前一后前进,若链表中存在环,则快慢指针一定会有相遇的时候,反之,快指针会先到头,则以此二者为判断循环结束条件,之后分情况返回即可。class Solution { public: bool hasCycl...
2021-04-06
0
492
LRU:链表+双向链表
直接利用map写会超时......参考大佬意见后,用C++写出这个题解,虽然效率也不是很高,但,emmm,通过了 #include<unordered_map> using namespace std; struct NodeList { int key, val; ...
2021-04-01
0
562
首页
上一页
1
2
3
4
5
6
7
下一页
末页