xsd123
xsd123
全部文章
分类
题解(9)
归档
标签
去牛客网
登录
/
注册
xsd123的博客
全部文章
(共9篇)
#牛客小白月赛44-变异蛮牛#
合法链只有起始端都是黑点的情况(包括单个黑点)链的长度都是1 设黑点总数为ans 则答案=(ans+1)*ans #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=2e5+7...
C++
深度优先搜索
2022-03-28
0
403
题解 | #牛客小白月赛44-丛林木马#
牛客小白月赛44-丛林木马 唯一自己 完整 写对的题目,记录一下 计算公式:a×b.length + b×a.length 注意取模的问题 #include <bits/stdc++.h> using namespace std; typedef long long ll; void...
C++
数学
2022-03-28
0
415
题解 | #下一个更大的数(三)#
类似 下一个排列 链接:https://www.nowcoder.com/practice/50b0b87e50be4944b34cb0f2ce618197 next_permutation函数 把数字拆开来放数组里,调用函数 (返回false说明该排列已最大,返回原数字) class Solut...
C++
双指针
2022-03-22
0
475
题解 | #重复的DNA序列#
哈希 umap存放字符串第一次出现的首字符下标 umap1存放重复出现的字符串 并且map自带自带 key 的升序排列,解决先后问题 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 ...
C++
哈希表
2022-03-22
0
400
题解 | #最短无序连续子数组#
排序 + 比较 一开始认为只要前后找不符合升序的地方 然后两个下标一减就完事了 提交后尴尬了...又重新想了一下,一个值不在它应该在的地方,说明它必然要重新排序,所以... 拷贝原数组,排序 分别从前后找第一个值不等的地方,返回 二者下标之差+1 注意可能本身不需要排序 直接返回0 class ...
C++
贪心
2022-03-22
0
465
题解 | #长度最小的连续子数组#
双指针 sum 记录区间内的和 sum > target 记录 较小的长度 l++ (如果采取r++,结果只会更大,长度会更长,没必要) 否则 r++ 直至循环结束 注意 最小可能为1 单个值 已经 >= target class Solution { public: ...
C++
双指针
2022-03-22
0
371
题解 | #移动 0#
在原数组上修改 两个指针 first_0 , last_0 分别指向第一个0 和最后一个0 (连续区间) 非0值前移 :nums[first_0++] = nums[last_0++] 直到nums[last_0] !=0 给此时的 [first_0, last_0) 区间内赋0 ,重复上述操...
C++
双指针
2022-03-22
0
373
题解 | #长度为 K 的重复字符子串#
1.暴力 窗口滑动, 遍历每个区间,判断是否有重复字符 int numKLenSubstrRepeats(string s, int k) { int ans = 0; //O(n*k) for(int i=0; i<=s.length()-k;...
C++
双指针
哈希表
2022-03-22
0
401
题解 | #连续子数组最大和#
双指针 两个指针代表子数组的边界(包含) 如果区间的和 +a[j] < a[j], 说明区间和为负 此时我们就要移动左边界 i, 这样才有sum增大的可能性,否则继续移动右边界 j 移动过程中保证区间有效 i <= j < n #include <bits/stdc+...
C++
双指针
2022-03-20
0
419