Superbeaver的专栏

不积跬步,无以至千里;不积小流,无以成江海。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年7月20日

摘要: 用命令行输出手算乘法的过程,有点小意思,考察输出的formatting。可能会出现在面试中。输入两个整数,输出格式: 两个乘数的末位数对齐 乘号后面紧跟着第二个乘数,线的长度以最长的数的位数为准,每两组测试数据中间,输出一个空行。例如:输入89 132 30 0输出 89 x13---- 267 89----1157 2x3-- 6程序假设乘积在int范围内,如果大数相乘,用BigInteger处理即可。 1 import java.util.*; 2 3 public class CoolMultiplication { 4 public static void main(Str... 阅读全文

posted @ 2012-07-20 00:29 Superbeaver 阅读(429) 评论(0) 推荐(0)

2011年10月7日

摘要: 面试题:http://www.cnblogs.com/xushiyan/archive/2011/10/06/2578651.html编程能够暴力地解出这道题,但是如果没用数学方法分析的话,总觉得这还是个遗留问题。受同学指点,解法如下:设随机放入的10个房间的金币从小到大排序后是g1, g2, g3, ... , g10.假设我们采用开四个房间的策略。令看过的四个房间中的金币最大值是m。那么要获得最后胜利的话,m只能等于g4, g5, g6, g7, g8, g9中的一个。当 m=g4 时,这时看过的四个房间金币分布有4!种可能,即g1, g2, g3, g4进行全排列。后面6个房间排布可能性 阅读全文

posted @ 2011-10-07 19:37 Superbeaver 阅读(477) 评论(3) 推荐(1)

2011年10月6日

摘要: 10个房间里放着随机数量的金币。每个房间只能进入一次,并只能在一个房间中拿金币。一个人采取如下策略:前四个房间只看不拿。随后的房间只要看到比前四个房间都多的金币数,就拿。否则就拿最后一个房间的金币。a) 编程计算这种策略拿到最多金币的概率。b) 证明这是不是最优策略。 1 import java.io.*; 2 import java.util.*; 3 4 public class mostGoldStrategy { 5 public static int findMax(int[] arr) { 6 int maxVal = arr[0]; 7 ... 阅读全文

posted @ 2011-10-06 18:05 Superbeaver 阅读(481) 评论(0) 推荐(0)