Finding 3-Digit Even Numbers
求所有三个字母的偶数, 并且由给的digits组成.
这个题的答案有范围, 而且很小, 一个个找就行了.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
class Solution { public int[] findEvenNumbers(int[] digits) { int[] used = new int[10]; for(int d : digits) used[d]++; List<Integer> list = new ArrayList<>(); for(int i = 100; i <= 999; i++) { if(i % 2 != 0) continue; boolean yes = true; int[] cur = Arrays.copyOf(used, 10); String str = i+""; for(char c : str.toCharArray()){ cur[c - '0'] --; if(cur[c - '0'] < 0){ yes = false; } } if(yes) list.add(i); } int[] res = new int[list.size()]; for(int i = 0; i < list.size(); i++){ res[i] = list.get(i); } return res; } } |