
【常见算法】
从不喝茶
走到哪,学到哪。需要啥,就学啥。想学就学,但是我从不喝茶!
展开
-
抽奖的概率算法。
奖品public class MGood { // ....... 其他描述字段 public int lotteryPriority;}抽奖逻辑public class GoodLotteryLogic { // 奖品仓库 private List<MGood> gifts = new LinkedList<MGood>(); private boolean原创 2016-03-11 11:41:24 · 1652 阅读 · 0 评论 -
微信红包随机算法初探
最近看了一篇文章,讲微信红包随机算法的。感觉很不错,所以自己实现了下,并进行了简单测试。算法算法很简单,不是提前算好,而是抢红包时计算:红包里的金额怎么算?为什么出现各个红包金额相差很大?答:随机,额度在0.01和剩余平均值*2之间。实现实现上述算法的逻辑主要是:public static double getRandomMoney(LeftMo转载 2016-03-11 11:54:38 · 3557 阅读 · 0 评论 -
冒泡排序
什么是冒泡?每次比较【相邻】两个元素,若【顺序】错误就对把它们的位置互换。其中【顺序】指定是:从小到大或者从大到小。注意: 趟数越靠后,需要两两比较的数越少,而不需要每趟都和全部数比较。原理: 每一趟只能确定一个数归位。第一趟只能确定末尾的数,第二趟只能确定倒数第二位的数,以此类推。根据它的原理,我们可以总结出: 有 x 个数需要排序,只需要将 x -1 个数归位(若还不明白,就自己原创 2016-05-16 19:15:40 · 410 阅读 · 0 评论 -
快速排序
什么是快速排序个人认为,本质上就是“冒泡”的高级版。它的原则是:从排序的数列中,选一个数作为“基准数”,个人更喜欢叫它“基数”根据选定的“基数”,分为 2 部分。比“基数”大的放一边,比“基数”小的放到另一边。分别对 2 部分数列,重复步骤 1、2。直到队列中只有一位数时。代码说话 public void sort(int left, int right, int... sortNu原创 2016-06-22 19:23:02 · 471 阅读 · 0 评论