题解 | #万万没想到之抓捕孔连顺#
万万没想到之抓捕孔连顺
http://www.nowcoder.com/practice/c0803540c94848baac03096745b55b9b
常见的字符串处理方式,详细见注释,记得结果加long long 否则过不去
#include<bits/stdc++.h> using namespace std; const int mod = 99997867; int main(){ long long N,D; int x; while(cin>>N>>D){ vector<long> pos; for(int i = 0; i< N;i++){ cin>>x; pos.push_back(x); } long long res = 0; int left = 0; int right = 2; for(;left<N-2;){ //注意小于n. while(right<N&&pos[right]-pos[left]<=D){ right++; } if(right-left-1>=2){ long long num = right - left -1;//排列组合。 res+= num*(num-1) /2; //跟新结果。 } left++; } cout<<res%mod<<endl; }
return 0;
}
```
大厂笔试题题解 文章被收录于专栏
主要是公司笔试题得一些总结