算法
BlackCutter
not just java developer
展开
-
依赖权重的随机选择
权重分配,A:1 B:5 C:10需求是随机选择一个,要求权重越高选中的几率越大解决思路: 在1到16(权重之和)之间生成一个随机数x,如果x在(1,10]区间内则选择A,如果x在(10,15]区间内选择B,如果在(15,16]区间内选择C。原创 2015-08-10 13:35:57 · 566 阅读 · 0 评论 -
1号 到 100号 数数 123 数到 3 退出 最后剩下几号
大神fookwood提供的思路:写个循环链表,模拟删除操作。public class Count123 { public static void main(String[] args){ Node node = Node.initCycle(10); int count = 1; while(node.next != node){原创 2015-11-09 13:57:17 · 1268 阅读 · 0 评论 -
快速排序
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。原创 2016-11-13 14:50:05 · 322 阅读 · 0 评论