題目大意:數組g的大小表示有幾個小孩,每一個元素表示小孩的食量,數組s的大小表示有多少個餅乾,每一個元素的大小表示每一個餅乾的大小,把餅乾分給小孩,每一個小孩只能分一個餅乾,問最多能知足多少個小孩.數組
思路:遍歷小孩,爲每一個小孩遍歷餅乾cookie
Java實現:優化
public int findContentChildren(int[] g, int[] s) { int ans = 0; Arrays.sort(s); for (int i = 0; i < g.length; i++) { for (int j = 0; j < s.length; j++) { if (g[i] <= s[j]) { s[j] = -1; ans ++; break; } } } return ans; }
優化:先把小孩和餅乾排序,再遍歷code
public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int ans = 0; int i=0; int j=0; while (i<g.length && j < s.length) { if (g[i] <= s[j]) { s[j] = -1; ans ++; i++; } j++; } return ans; }