出一个题目给大家看看
java吧
全部回复
仅看楼主
level 6
古三叶º
楼主
工作上遇到的一个很有意思的算法问题,分享给大家。
现在有一个收集卡片活动,用户每次点击获得一个不重复卡号,1-30号 共30张。
需要写一个方法,传入已有号码,返回当前号,怎么实现比较快呢?
给个开头
public int getCode ( int[] arr){
int code = 0;
//something
return code;
}
2018年11月16日 03点11分
1
level 8
千惭
感觉不好
2018年11月16日 03点11分
3
古三叶º
有点意思啊
2018年11月16日 03点11分
迪尔276
会越界吧 比如arr里有30 但没有t[30]
2018年11月16日 03点11分
千惭
@迪尔276
越了临界点
2018年11月16日 04点11分
迪尔276
如果arr[0]是30 t[e-1]就是t[29] 也就是最后一个是true 其它都是false 那么因为是顺序遍历的 就会出现一个问题 规律可循
2018年11月16日 04点11分
level 6
古三叶º
楼主
忘记嗦啦 要求每次获得的号是随机的
2018年11月16日 03点11分
4
level 12
沉睡的木木夕☜
你这开头就没开头好,数组只能存储卡牌的个数,不能存储对应编号的信息,而且你从数组查找一个号码,时间复杂度是On
才30个,无脑使用哈希表就是了
2018年11月16日 04点11分
6
1