Problem A. Magic Trick解答

PDF版
原题链接: Problem A. Magic Trick

这一题6分,题目要求可简化如下:
前提条件:
1. 给定A和B两个4 x 4 的矩阵,两个矩阵中都填充了1 ~ 16这16个数字(每个矩阵中的数字都唯一)。
2. 取出矩阵A中指定某一行的4个数字;
3 .取出矩阵B中指定某一行(可能与第2步中行数相同)的4个数字。
要求:
判断步骤2中的数字与步骤3中的数字是否包含相同的数字。如果有且只有一个相同数字,那么输出这个相同的数字;如果没有相同的数字,则输出“Volunteer cheated!“;如果相同的数字个数大于或等于2,则输出“Bad magician!”。

解答:
把两组数字分别放到两个数组中,逐个比较这两个数组,然后把相同的数字放到一个list中,最后判断list.size()即可。函数实现如下
	private List<String> processTrickPair( String[] values1, String[] values2)
	{
		List<String> ret = new ArrayList<String>();
		for( int i = 0; i < values1.length; i ++ )
		{
			for( int j = 0; j < values2.length; j ++ )
			{
				if( values1[i].equals( values2[j]))
				{
					ret.add( values1[i] );
				}
			}
		}
		return ret;
	}

源代码下载: MagicTrick.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值