题解 | #万万没想到之抓捕孔连顺#

万万没想到之抓捕孔连顺

http://www.nowcoder.com/practice/c0803540c94848baac03096745b55b9b

  1. 常见的字符串处理方式,详细见注释,记得结果加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;

}
```

大厂笔试题题解 文章被收录于专栏

主要是公司笔试题得一些总结

全部评论

相关推荐

01-30 09:45
燕山大学 Java
喵_coding:这种直接跑就完事了 哪有毕业了才签合同 任何offer和三方都没有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务