//returnasea
//returnasea
全部文章
题解
归档
标签
去牛客网
登录
/
注册
//returnasea的博客
全部文章
/ 题解
(共106篇)
题解 | #判断链表中是否有环#
思路:快慢指针。注意while循环的判断条件fast->next!=nullptr,以及在slow和fast移动的过程中,首先要判断next是否为空。 /** * Definition for singly-linked list. * struct ListNode { * i...
C++
2021-09-30
0
394
题解 | #最长无重复子数组#
哈希表+滑动窗口,用哈希表保存不重复的元素,滑动窗口在遍历的时候,如果哈希表中存在重复元素,则分别调整哈希表和滑动窗口。 class Solution { public: /** * * @param arr int整型vector the array * @...
C++
2021-09-30
0
432
题解 | #连续子数组的最大和#
贪心算法,当局部和sum大于0时,继续向前增加,并且与结果result比较;当局部和小于0时,让sum=0并且重新开始累加。 class Solution { public: int FindGreatestSumOfSubArray(vector<int> array) { ...
C++
2021-09-30
0
293
题解 | #链表中的节点每k个一组翻转#
首先需要一个反转链表的子函数,能够反转[left,right)并且返回反转之后的头结点。在以每k个节点反转链表的函数中,采用递归调用,每次都用head->next来接住递归返回的反转后的头结点。 /** * struct ListNode { * int val; * struct Li...
C++
2021-09-30
0
392
题解 | #跳台阶#
动态规划,在空间上并不需要保存全部的n个元素,只需要保存第i-1和第i-2个元素即可,每次累加原地更新。 class Solution { public: int jumpFloor(int number) { if(number==1) return 1; ...
C++
2021-09-30
0
342
题解 | #用两个栈实现队列#
设置两个栈,一个用来入队,一个用来出队,再push的时候直接将元素压入stack1,再pop的时候如果stack2不为空,则直接pop,否则先将stack1中的元素全部弹出并压入stack2,然后从stack2弹出栈顶元素。 class Solution { public: void pus...
C++
2021-09-30
0
419
题解 | #合并两个排序的链表#
与合并有序数组的思路时一样的,先遍历两个链表共同的部分,再遍历其中某一个链表剩余的部分。 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/...
C++
2021-09-30
0
375
题解 | #两数之和#
一次遍历数组,遍历过程中,维持一个哈希表,用来保存值和下标,然后判断哈希表中是否有target-num[i]。 class Solution { public: /** * * @param numbers int整型vector * @param targ...
C++
2021-09-30
0
378
题解 | #寻找第K大#
第K大数,用小顶堆实现,堆中的其他元素都大于堆顶元素。 class Solution { public: int findKth(vector<int> a, int n, int K) { priority_queue<int,vector<int&...
C++
2021-09-30
0
328
题解 | #求二叉树的层序遍历#
用队列实现,每一层的节点的个数就是que的元素的个数,没保存一个节点的值,同时将相应节点的左右子结点保存进去。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }...
C++
2021-09-30
0
376
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页