不经历怎么能成长
不经历怎么能成长
全部文章
题解
归档
标签
去牛客网
登录
/
注册
不经历怎么能成长的博客
全部文章
/ 题解
(共128篇)
数据流的中心(两个堆,堆插入复杂度最低)
/* 堆排序插入O(logn) 得到中位数为O(1); 插入排序插入,折、、半查找为O(logN),移动为O(n) 得到中位数 为O(1) 如果插入数字小于大根堆(存放的是数组小的值,存放数组左边)的最大值(第一个值) 加入 否则加入小根堆(存放数组右边) */ class Solution { p...
2021-03-30
1
606
把字符串转化为整数(循环判断注意边界条件)
class Solution { public: int StrToInt(string str) { const int len = str.length(); //字符串长度 if (len == 0) return 0; int i = ...
2021-03-29
1
624
矩阵中的路径(带回溯的dfs)
变量含义:hasPathCore(matrix,rows,cols,row,col,str,pathLength,visited):返回值代表是否找到。matrix:地图矩阵 str判断的字符串。pathLength:str字符串的下标。rows cols 地图的行跟列用来模拟二维访问。row,co...
2021-03-29
0
546
机器人的活动范围(dfs)
void dfs(){ 1. 检查下标是否越界,是否走出地图,访问过 2. 检查是否满足限定条件,当前坐标的值value(x,y)在约定条件。 3. 标记访问过,是否满足输出条件。 4.进行下一步dfs 5.回溯,某一个全局变量退出递归时候要回溯 } class Solution { public...
2021-03-27
0
507
二叉树的第K个节点(中序遍历递归&非递归)
栈非递归算法: class Solution { public: TreeNode* KthNode(TreeNode* pRoot, int k) { if(!pRoot||k <= 0){ // pRoot为空返回 k<=0 也返回 r...
2021-03-26
1
756
剪绳子(动态规划边界条件)
/* f[i]:代表数字i的剪成m段的最大值 f[i] = max(f[i],j*f[i-j]) m最小为2。因此 f[2]返回 1 ,f[3]返回2. 但是当动态规划时,n>=4时 f[2]=2;不是1 可以不划分返回2 f[3]=3;不是2 可以不划分返回3 后面的得到的一定满足f[n]&...
2021-03-25
1
622
构建乘积数组(三角阵形式循环乘)
class Solution { public: vector<int> multiply(const vector<int>& A) { vector<int> B(A.size(), 1); // 声明一个B数组 ...
2021-03-25
0
419
二叉树层次遍历(每次获得该层宽度)
class Solution { public: vector<vector<int> > levelOrder(TreeNode* root) { vector<vector<int>> ans; if(!ro...
2021-03-25
0
452
排序(插入,冒泡,快速,归并,堆)
快速: class Solution { public: vector<int> MySort(vector<int>& arr) { // write code here quickSort(arr,0,arr.size()-...
2021-03-24
15
1007
不用加减乘除做加法(^ &操作进行加法)
class Solution { public: int Add(int num1, int num2) { while(num2){ // 直到进位数组为空为止 int tmp = num1^num2; // 异或相当于不进位加法 ...
2021-03-20
0
530
首页
上一页
3
4
5
6
7
8
9
10
11
12
下一页
末页