摘要: int rand7() { int i; do{ i = 5 * (rand5() - 1) + rand5(); //产生[1,25]的整数区间 }while(i > 21); //将[1,25]整数区间控制于[1,21] return i%7 + 1; //将[1,21]映射到[1,7] } 阅读全文
posted @ 2016-02-23 22:50 zhou09 阅读(165) 评论(0) 推荐(0) 编辑
摘要: void fun(int n) { for(int i = n - 1; i >= 1; i--) swap(num[i], num[rand()%(i+1)]); } 阅读全文
posted @ 2016-02-23 22:47 zhou09 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 12枚硬币,有一枚是假的,和真的重量不一样。用天平秤,3次找出假币。并确定假币是重还是轻。 编号1~12. 一、1~4与5~8比 1、相等,说明在9~12中,9 10跟1 11比 (1)相等,假的是12,再比1和12就知道轻重 (2)9 10 > 1 11 9和10比 a.相等,假的是11,轻 b. 阅读全文
posted @ 2016-02-23 22:45 zhou09 阅读(1678) 评论(0) 推荐(0) 编辑
摘要: 思路跟前面大体一样,先找出叶子节点的链表。这次增加叶子层次level值。1、首先找出叶子链表时,已经保证叶子链表中顺序与二叉树中序遍历顺序一致。2、利用类似二分查找的做法,找出当前层次叶子左半部和右半部的分割点,再找出左半部叶子的最大层次深度,和右半部最大层次深度,计算出最大距离。然后把左右半部分别 阅读全文
posted @ 2016-02-23 22:01 zhou09 阅读(689) 评论(0) 推荐(0) 编辑