leetcode 455 Assign Cookies C++

来源:互联网 发布:中冶南方自动化 知乎 编辑:程序博客网 时间:2024/06/12 00:18

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

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

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



0 0