由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教一个函数默认返回值的问题,纠结很久了
相关主题
amazon 一道题贡献一个 一个L家的店面题目
A家一道题自己写了个graph的class但是不work 求指点
数组里面找数个出现了奇数次的整数,怎么找?问道题,谁给个效率高点的解法
数组找唯一的出现奇数次元素除了hash,sort, xor怎么做?一个实际碰到的问题
数组找唯一的出现奇数次元素除了hash,sort, xor怎么做?请教个面试题
菜鸟向大家请教个面试题求点评:电话面试(今天第二天没有消息回复,感觉可能挂了)
怎么找一个数组里面,出现次数是偶数的数?问个数组相关的题
好挫的F家面经这个BST题目为何错了?
相关话题的讨论汇总
话题: integer话题: arr话题: int话题: hashmap话题: 返回值
进入JobHunting版参与讨论
1 (共1页)
c******t
发帖数: 391
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 ?;
}
应该是个挺简单的问题,但每次临场写代码时总会撞到这个死胡同里,所以想请教下大
家,多谢了!
h****n
发帖数: 2094
2
返回null

【在 c******t 的大作中提到】
: 在多次面试的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);

c******t
发帖数: 391
3
多谢回复!
但返回null会报错啊(Type mismatch: cannot convert from null to int),除非cast
成(int)null,感觉很奇怪。。。

【在 h****n 的大作中提到】
: 返回null
h****n
发帖数: 2094
4
一般都是object array吧。如果是int array return index is good enough...

cast

【在 c******t 的大作中提到】
: 多谢回复!
: 但返回null会报错啊(Type mismatch: cannot convert from null to int),除非cast
: 成(int)null,感觉很奇怪。。。

l*****a
发帖数: 14598
5
int/Integer混用是什么技巧?

【在 c******t 的大作中提到】
: 在多次面试的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);

S**********e
发帖数: 503
6
"找数组里出现奇数次元素的代码"
不是应该返回一个数组或集合吗?出现奇数次元素可能不只一个。貌似函数的返回值定
义不恰当。要么抛出异常,如果找不到。

【在 c******t 的大作中提到】
: 在多次面试的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);

1 (共1页)
进入JobHunting版参与讨论
相关主题
这个BST题目为何错了?数组找唯一的出现奇数次元素除了hash,sort, xor怎么做?
新鲜夫家onsite面经菜鸟向大家请教个面试题
这道题太神奇了,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),怎么找一个数组里面,出现次数是偶数的数?
讨论一题,去除有序数组的重复元素好挫的F家面经
amazon 一道题贡献一个 一个L家的店面题目
A家一道题自己写了个graph的class但是不work 求指点
数组里面找数个出现了奇数次的整数,怎么找?问道题,谁给个效率高点的解法
数组找唯一的出现奇数次元素除了hash,sort, xor怎么做?一个实际碰到的问题
相关话题的讨论汇总
话题: integer话题: arr话题: int话题: hashmap话题: 返回值