请教一个函数默认返回值的问题,纠结很久了# JobHunting - 待字闺中
c*t
1 楼
在多次面试的online coding里都遇到这种情况,当实现一个返回值为int的搜索函数时
,有时会在if语句里判断是否符合搜索条件,如果符合即返回。但问题是,函数的
default返回值该怎样设,如果是搜索对象是数组下标,当然可以返回-1。但如果让返
回搜索的元素,该怎样解决呢?
举个例子,下面是一个用hashMap找数组里出现奇数次元素的代码(没测试):
public int findOdd(int[] arr){
HashMap map = new HashMap();
for(int i = 0; i if(map.get(arr[i])==null)
map.put(arr[i],1);
else{
map.put(arr[i],map.get(arr[i])+1);
}
}
for(Map.Entry item:map){
if(item.getValue()%2==1)
return item.getKey();
}
}
return ?;
}
应该是个挺简单的问题,但每次临场写代码时总会撞到这个死胡同里,所以想请教下大
家,多谢了!
,有时会在if语句里判断是否符合搜索条件,如果符合即返回。但问题是,函数的
default返回值该怎样设,如果是搜索对象是数组下标,当然可以返回-1。但如果让返
回搜索的元素,该怎样解决呢?
举个例子,下面是一个用hashMap找数组里出现奇数次元素的代码(没测试):
public int findOdd(int[] arr){
HashMap
for(int i = 0; i
map.put(arr[i],1);
else{
map.put(arr[i],map.get(arr[i])+1);
}
}
for(Map.Entry
if(item.getValue()%2==1)
return item.getKey();
}
}
return ?;
}
应该是个挺简单的问题,但每次临场写代码时总会撞到这个死胡同里,所以想请教下大
家,多谢了!