从一个打印LCD字符的Quiz说说矩阵转置

        这是昨天看的一本用来测试你的Ruby技巧的题目。书名大概就是Ruby Quiz,题目是要打印LCD字符,也就是将字符串“0123456789”打印成这样。
 -                     -          -                     -          -          -          -          -
| |          |          |          |        | |        |          |             |         | |        | |
                       -          -          -          -          -                     -          -
| |          |        |            |          |           |        | |           |        | |          |
 -                     -          -                     -          -                     -          -

        这里主要是分两步,一是打印单独一个字符,这步挺简单的,past不说。第二步是要打印一串字符,这个比较棘手,我用的方法就是对应于每一行生成一个buffer之类的冬冬,然后对于每个字符把它对应行的输出存到这些buffer里面去,最后再一次过把所有这些buffer按顺序输出。这是我的方法,虽然我觉得挺笨的,不过也没想到更好的,然后就是看书里面的答案,解法实在是绝倒。她把每一行作为一个串,然后将这些串存到数组里面,然后每个字符就对应了一个字符串数组,然后把这些数组放到一个大数组里面,也就是大概像这样
[ [11,12,13],[21,22,23],[31,32,33] ]。然后她再对这个数组进行矩阵转置就会得到[[11,21,31], [12,22,32], [13,23,33]],然后逐行输出这个大数组就行了。以上是在Ruby里面的解法,如果要用Java来做的话,由于Java好像没有内置的矩阵支持,所以估计得下载一个common-math包,用里面的Matrix来做。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值