NC204370:牛牛的木板 尺取法解析

牛牛的木板

https://ac.nowcoder.com/acm/problem/204370

来点不一样的,别人都是固定移动右端,依据情况移动左端
我们来,固定移动左端,依据情况移动右端。处理一点点小细节。

int solve(int n, int m, vector<int>& a) {
    int r = 0, l = 0, cnt = 0, maxx = -1;
    for(int l = 0;l<a.size();l++){
        while (r < a.size() && cnt <= m) {
            if (!a[r++]) cnt++;
        }
        int t = r == a.size() ? 0 : 1;
        maxx = max(maxx, r - l - t);
        if (cnt >= m) 
           if (!a[l]) cnt--;
    }
    return maxx;
}
全部评论

相关推荐

浩浩没烦恼:一二面加起来才一个小时? 我一面就一个小时多了
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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