我想的是滑窗: int main() { int n; cin>> n ; int count_odd = 0 ; // 奇数位1 int count_even = 0 ; // 偶数位1 vector<char> source(n,'.'); //map<int,int> record; int record = 0 ; for(int i =0;i<n;++i){ cin>>source[i]; } // get all substring for(int i = 0 ;i<source.size();++i){ count_odd = 0; count_even = 0; for(int win = 0 ; i+win < source.size();++win){ //window size = win + 1 if((i+win)&1){ if(source[i+win]=='1') count_even++; else count_odd++; } else{ if(source[i+win]=='1') count_odd++; else count_even++; } record += (count_even>count_odd)?count_odd:count_even; } } cout << record <<endl; return 0; }
点赞 评论

相关推荐

03-23 15:00
已编辑
厦门大学 Java
xiaowl:你这个简历的问题是对于技术点、项目的描述,都是描述action的,对于面试官而言,仅能知道你干了什么,无法判断你为什么这么干,干的好不好。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-20 12:46
瘦嘟嘟右卫门:百度文库网盘的暑期也没约面吗
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务