题解 | #牧场奶牛集合区域#

牧场奶牛集合区域

https://www.nowcoder.com/practice/89218acf98234315af1cb3a223935318

双指针问题:

基本思路:

1、移动游标,获得可以收集的边界条件!(边界与的条件 保证数据不越界访问)

2、按照目标构造结果变量

3、收集结果,并重新初始化,开始下一次查找

#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param groups int整型vector 
     * @param n int整型 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > findGatheringAreas(vector<int>& groups, int n) {
        // write code here
        vector<vector<int>> res;
        int left = 0;
        int right = 0;
        while(left < n) {
            // 有界的连续 一直移动 边界到了right +  1
            while (right + 1 < n && groups[right] + 1 == groups[right + 1]) {
                right++; 
            }
            vector<int> group(2,0);
            if (left == right) {
                group[0] = groups[left];
                group[1] = groups[left];
            } else {
                group[0] = groups[left];
                group[1] = groups[right];
            }
            //vector<int> group(groups.begin() + left, groups.begin() + right + 1);
            res.push_back(group);
            left = right + 1;
            right = left;
        }
        return res;
    }
};

全部评论

相关推荐

今年读完研的我无房无车无对象,月入还没有过万&nbsp;看到他在朋友圈晒房产证,感叹自己白读了这么多年书
梦想是成为七海千秋:那咋了,双9毕业的现在还没存款呢(因为没念完),高中毕业的去直播带货月入几百万也是完全有可能的,退一万步讲,有些人刚出生父母就给买车买房了,上哪说理去,哪怕是同一个起点也会有截然不同的走向,过好自己的生活就完事了。
点赞 评论 收藏
分享
04-28 11:34
西北大学 运营
牛客4396号:不好意思,这个照片猛一看像丁真
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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