求代码
给定一个含有n个元素的整型数组a,如果元素出现的次数为奇数次,比如{1,1,1,2,2,3,3,3}则输出1,3 java基础 --------------------编程问答-------------------- Map<Integer,Integer> mapint[] str
for(int i=0;i<str.length;i++){
if(map.get(i)==null){
map.put(i,1);
}else{
int k=map.get(i)+1;
map.get(i)=k;
}
}
最后遍历map的value,如果是奇数就输出。。
效率比较低,但是是最简单的 --------------------编程问答-------------------- 传说中的作业 --------------------编程问答--------------------
如果StackOverflow上出现类似的问题,老外会说“Do your own homework”,然后再给点downvotes --------------------编程问答-------------------- 是作业啊 但是不会 一楼的代码 小弟还没学那么深 看不懂啊 --------------------编程问答-------------------- 排序后相同的删除,保证集合永远存在奇数个数的数字
public static void main(String[] args){--------------------编程问答--------------------
Integer[] o = {1 , 2 , 3 , 3 , 1 , 2 , 1 , 3 , 4 , 4 , 5 , 7 , 7 , 7 , 9 , 1 , 1} ;
Arrays.sort(o) ;
List list = new LinkedList() ;
int tp = - 1 ;
for(Integer num : o){
if(list.contains(num)){
list.remove(num) ;
}else{
list.add(num) ;
}
tp = num ;
}
System.out.println(list) ;
}
--------------------编程问答--------------------
public static void main(String[] args)--------------------编程问答--------------------
{
int[] a = new int[] { 1, 22, 32, 1, 23, 433, 3, 3, 45, 2, 34, 7, 8, 9,
5, 6, 7, 8, 9, 0, 54, 3, 54, 56, 45, 45, 3, 7, 433, 543, 433 };
Arrays.sort(a);
int j = 1;
for (int i = 0; i < a.length - 1; i++)
{
if (a[i] == a[i + 1])
{
j++;
if (i == a.length - 2)
{
if (j % 2 == 1)
{
System.out.println(a[i]);
}
}
} else
{
if (j % 2 == 1)
{
System.out.print(a[i] + ",");
}
j = 1;
if (i == a.length - 2)
{
System.out.print(a[i + 1]);
}
}
}
}
int[] arr = {1,1,1,2,2,3,3,3};
HashSet<Integer> set = new HashSet<Integer>();
for(int x =0; x<arr.length; x++)
{
if(arr[x]%2!=0)
{
set.add(arr[x]);
}
}
for(int i: set)
{
System.out.println(i);
}
补充:Java , Java SE