1 
                    
                    hitmanx      2016-04-11 12:34:40 +08:00 
                    
                    我觉得你的方法挺好的呀,毕竟这只是分配号码的算法,而不是抽奖算法,只要不重复怎么快怎么来吧? 
                 | 
            
     2 
                    
                    9hills      2016-04-11 13:29:53 +08:00 
                    
                    你的办法是好的。一个原则,数据能不实时生成就不实时生成。。。 
                比如炉石传说的手牌,其实在换牌的一瞬间,所有牌的排序就固定了(除非用了影响牌堆的牌,比如挖宝之类)  | 
            
     4 
                    
                    zonghua      2016-04-11 14:07:53 +08:00 via iPhone 
                    
                    随机生成下标,然后用下标取数组的元素 
                 | 
            
     5 
                    
                    ykrl089      2016-04-11 14:21:12 +08:00 
                    
                    我觉得都放内存好了, 就算是一百万号码,在内存中也不过几个 mb 而已。 
                 | 
            
     7 
                    
                    tabris17      2016-04-11 14:50:36 +08:00 
                    
                    你说的是洗牌算法, shuffle 
                 | 
            
     9 
                    
                    hst001      2016-04-11 15:04:14 +08:00 
                    
                    先生成号码按队列取下去就好了,反正要的是随机 
                 | 
            
     10 
                    
                    cc7756789      2016-04-11 15:14:50 +08:00 
                    
                    分 100 组,每组 100 个号码, 0-99 、 100-199 、 200-299 。。。。。前 100 个人来抽奖,随机分配。至于奖项,随机分配给每一组的某个号码。不过还是直接打乱来得轻松。 
                 | 
            
     11 
                    
                    cevincheung      2016-04-11 15:27:25 +08:00 
                    
                    redis spop 
                 | 
            
     12 
                    
                    zado      2016-04-11 15:40:10 +08:00 
                    
                    还是方内存简单,如果几百个活动同时进行也不太可能挤在一个服务器上。 
                 |