leetcode 455 Assign Cookies C++

这道题我先把两个数组排序,然后用了一个嵌套循环,里循环不是每次都从头开始,而且从上一次跳出的地方开始,可以节省很多时间。

    int findContentChildren(vector& g, vector& s) {
        int count = 0;
        sort(g.begin(),g.end());
        sort(s.begin(),s.end());
        int i = 0;
        for (int a:g) {
            for (;i=a) {
                    count++;
                    i++;
                    break;
                } else {
                    continue;
                }
            }
        }
        return count;
    }
然后看了discussion,发现用双指诊更好一些,原理都一样。

    int findContentChildren(vector& g, vector& s) {
        int count = 0;
        sort(g.begin(),g.end());
        sort(s.begin(),s.end());
        int i = 0;
        int j = 0;
        while (i=g[i]) {
                count++;
                i++;
            }
            j++;
        }
        return count;
    }



你可能感兴趣的:(算法,C++)