菜菜子不想再菜了
菜菜子不想再菜了
全部文章
分类
归档
标签
去牛客网
登录
/
注册
菜菜子不想再菜了的博客
全部文章
(共84篇)
题解 | #数组中只出现一次的两个数字#
哈希表 #include <unordered_map> #include <vector> class Solution { public: vector<int> FindNumsAppearOnce(vector<int>& nu...
2024-06-26
0
160
题解 | #数组中出现次数超过一半的数字#
简单的hash表查找法 #include <unordered_map> class Solution { public: int MoreThanHalfNum_Solution(vector<int>& numbers) { unord...
2024-06-26
0
151
题解 | #表达式求值#
最复杂的一集 class Solution { public: int solve(string s) { stack<char> sk; stack<int> res; int tmp; bool ...
2024-06-25
0
118
题解 | #数据流中的中位数#
数据流的逐个流入性质,很符合插入排序的特性。每push一个数据,就将其插入到该在的位置,使数据流有序。 class Solution { public: vector<int> stream; void Insert(int num) { stream...
2024-06-25
0
139
题解 | #寻找第K大#
堆排序求第K大的值,完美符合题目要求。但第一次提交有一例没过,打印循环中的最大输出后发现6878这个答案莫名其妙消失了,得出的错误答案是270,但前面的输出是降序,一脸懵逼。。。看了十分钟,怀疑是不是MaxHeap函数的for循环起始点不对,我一开始设置的起始点是i=size-3,意思是排除最后两个...
2024-06-20
0
140
题解 | #最小的K个数#
此题提示应该是要我们用堆排序,但是由于这题只有整数,并且有相同的数据,同时空间复杂度要求也不高,个人觉得堆排序或许更方便一些。 class Solution { public: int* maxmin_vec(vector<int> v) { int max ...
2024-06-20
0
143
题解 | #滑动窗口的最大值#
《较难》就这啊😅我以为多难呢思路:拿一个队列装每一轮窗口的值,并且考虑上一个窗口的最大值是否被排出去,如果是,则重新比较队列里的值,如果不是,则只需比较新进来的值和上一个窗口的最大值,并更新最大值。 class Solution { public: int q_max(vector&l...
2024-06-19
0
116
题解 | #有效括号序列#
经典的用栈判断语法合法性问题 #include <stack> #include <unordered_map> class Solution { public: unordered_map<char, char> char_map = {{'(', ...
2024-06-19
0
172
题解 | #包含min函数的栈#
这题要求各个操作的时间复杂度都要是常数,那就意味着min这个求最小值过程不能用遍历。(不过看题目中给的数据范围,遍历应该也过得了。)那就只能采用以空间换时间的策略了,设置一个整数数组,第i个位置记录从栈底到第i个栈位置的区间的最小值(从0开始),push和pop操作都更新以栈顶位置为区间边界的区间最...
2024-06-18
0
161
题解 | #用两个栈实现队列#
class Solution { public: void push(int node) { stack1.push(node); } int pop() { while (!stack1.empty()) { s...
2024-06-18
0
121
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页