class Solution {
public int trailingZeroes(int n) {
int[] a = { 1, 2, 3, 4 };
int[] b = { 5, 6, 7, 8 };
List<Integer> list1 = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();
for (int i = 0; i < a.length; i++)
list1.add(a[i]);
for (int i = 0; i < b.length; i++)
list2.add(b[i]);
int last1 =0,last2 =0;
List<Integer> desk = new ArrayList<Integer>();
while (list1.size() > 0 || list2.size() > 0) {
if (list1.size() > 0) {
if (desk.size() > 0 && desk.contains(list1.get(0))) {
int tmp = desk.lastIndexOf(list1.get(0));
desk.add(list1.get(0));
List<Integer> rmv = new ArrayList<Integer>();
rmv = desk.subList(tmp, desk.size());
last1+=rmv.size();
desk.removeAll(rmv);
list1.remove(list1.get(0));
if (list1.size() > 0) {
desk.add(list1.get(0));
list1.remove(list1.get(0));
}
} else {
desk.add(list1.get(0));
list1.remove(list1.get(0));
}
}
if (list2.size() > 0) {
if (desk.size() > 0 && desk.contains(list2.get(0))) {
int tmp = desk.lastIndexOf(list2.get(0));
desk.add(list2.get(0));
List<Integer> rmv = new ArrayList<Integer>();
rmv = desk.subList(tmp, desk.size());
last2+=rmv.size();
desk.removeAll(rmv);
list2.remove(list2.get(0));
if (list2.size() > 0) {
desk.add(list2.get(0));
list2.remove(list2.get(0));
}
} else {
desk.add(list2.get(0));
list2.remove(list2.get(0));
}
}
}
if (desk.size() > 0)
for (int i = 0; i < desk.size(); i++) {
if (desk.get(i) % 2 == 1)
last1++;
else
last2++;
}
System.out.println(last1+ " " + last2);
return 0;
}
}
pdd-第二题
最新推荐文章于 2024-04-15 22:14:57 发布