技术没有界限,乐分享,爱学习。
IP属地:内蒙古
根据用户名(id)和权重抽奖 test_model运行结果 权重: 1 此权重中奖次数: 49514权重: 2 此权重中奖次数: 96324权重: 3 此权重中奖次数: 14...
第二题你犯了太多的错误,先说对数据结构的理解上。1 map本身就是无序的,只要是range取第一个,然后break就是随机,没必要全遍历。2,你都知道了map的长度却还使用slice而不是数组,性能会非常差,因为slice要不挺的扩容,扩容要找更大的连续内存,并将原来的数据拷贝到新内存,你这样数据量大的时候不仅时间几何级数的增长,还可能内存不足。
再说设计上的问题,根本就不应该将map转成数组,记住任何时候不要轻易的做这件事。而且你这题根本没必要,实现权重抽奖只需要遍历一遍map就可以了,遍历之前设置一个变量max存名字和最大随机数,遍历的时候只要只要每次根据权重算个随机数,比max大就保留,这样循环一次就搞定,根本不要这么复杂。
Gopher面试中的Coding从四月份下半月开始,陆陆续续面试了几家公司,都是golang的岗位。每一次面试,侧重点都会有不同,有的会直接给过来一道试题, 然后边解题,边讲述自己的思路,然后面试官根据你的...