不经历怎么能成长
不经历怎么能成长
全部文章
题解
归档
标签
去牛客网
登录
/
注册
不经历怎么能成长的博客
全部文章
/ 题解
(共128篇)
孩子们的游戏(约瑟夫环)
1.可以用队列模拟出队过程2.数学方法递推0 1 2 3 4 共5个数 输入3 ,则f(5,3)代表其结果第一个出去的是2,此时队变成 3 4 0 1 共四个数输入还是3假如我们将3 4 0 1 替换成 0 1 2 3 则变成求4个人输入为3 的问题 即f(4,3)总结为f(5,3) = (f(4,...
2021-03-19
1
0
求1+2+3+...+n(&& 代替if)
题目不能用乘除法还有判别运算符,循环等用递归来代替循环。 class Solution { public: int Sum_Solution(int n) { if(n==0)return n; return n + Sum_Solution(n-1); ...
2021-03-19
0
0
扑克牌顺子(数学逻辑)
数组不能有重复 除了0数组最大最小值之间的差<5 class Solution { public: bool IsContinuous( vector<int> numbers ) { if(numbers.empty()) return false; ...
2021-03-19
0
409
翻转单词顺序列(reverse翻转)
用栈存储单词 时间空间复杂度都为O(n) reverse 翻转字符串空间复杂度为O(1); class Solution { public: string ReverseSentence(string str) { stack<string> stack; ...
2021-03-19
0
469
坐旋转字符串(substr)
class Solution { public: string LeftRotateString(string str, int n) { string s; for(int i = n; i < str.size(); i++){ ...
2021-03-19
0
438
和为S的两个数(首尾指针寻找)
i,j分别指向首尾指针。 当a[i]+ a[j] > sum 时,j--。 当a[i]+ a[j] < sum 时,i++。 当a[i]+ a[j] == sum 时,直接返回a[i],a[j]。 不用判断相乘值是否为最小值,对于a+b=n。 当|a-b|最大的时候a*b最小 当|a...
2021-03-19
1
426
和为s的连续正数序列(滑动窗口两个指针)
遍历数组判断和为sum 时间复杂度为O(n) 滑动窗口,设置两个指针i,j,当他们之间和小于sum j++,当和大于sum i--,和为sum 记录且i++寻找下一个满足的 class Solution { public: vector<vector<int> > Fin...
2021-03-19
1
445
数组中只出现一次的两个数字(异或的特点)
用哈希表统计数字出现的次数。时间复杂度O(n)空间复杂度也为O(n) class Solution { public: vector<int> FindNumsAppearOnce(vector<int>& a) { unordered_ma...
2021-03-18
10
1106
平衡二叉树(类似求树的深度)
判断二叉树是否平衡 子树平衡 且 子树的高度差不能超过1重新构造函数f:返回数的高度 |f(root->left)-f(root->right)|不能大于1 否则返回-1不代表数的高度代表该数不平衡 判断左右子树高度差的前提,是左右子树高度返回值不能为-1即子树不能不平衡。class ...
2021-03-18
1
458
数字在升序数组中出现的次数(upper_bound & lower_bound)
/* 返回迭代器 对应数组下标要-vt.begin() upper_bound(vt.begin(),vt.end(), value)返回第一个大于查找数字下标 lower_bound()返回第一个大于等于查找数的下标 */ int GetNumberOfK(...
2021-03-18
1
577
首页
上一页
4
5
6
7
8
9
10
11
12
13
下一页
末页