HashSet<Integer> set = new HashSet<Integer>(); set.add(1);
我如何获得1?我可以通过for(整数i:set)来实现.你有另一个想法来解决这个问题吗?
我指定的问题是“给定一个整数数组,每个元素出现两次,除了一个.找到那个单独的.”
如果集合不包含它,我想在集合中使用add元素,并在循环期间删除现有元素.最后一个要素就是答案.我不知道如何归还它.
public static int singleNumber(int[] A) { HashSet<Integer> set = new HashSet<Integer>(); for (int a : A) { if (!set.contains(a)) { set.add(a); } else { set.remove(a); } } /** * for(Integer i : set) { return i; } *return A[0];//need one useless return /** * while(set.iterator().hasNext()) { return set.iterator().next(); } * return A[0];//need one useless return */ return set.toArray(new Integer[1])[0]; }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。