检查2d数组的字符串是否形成棋盘图案

时间:2017-01-12 10:25:09

标签: java multidimensional-array chess minimize

给定N长度的N个字符串数组,返回创建棋盘图案所需的最小字符更改次数(更改意味着替换字符)。

for instances

["ab", "ba"] --> 0
["aba", "bac", "aba"] --> 1 

我真的迷路了,感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您可以将问题分解为几个较小的问题。

例如:

  1. 如果至少有一行,则行数必须等于第一行的长度,否则结构为0x0检查板
  2. 如果至少有两行,则行数必须等于第二行的长度,否则结构为1x1检查板
  3. 所有偶数"线"必须平等
  4. 你所有奇怪的"线"必须平等
  5. (此时你不必再考虑第2行以外的行了)

    1. 在第一行和第二行中,偶数位置的所有字符必须相等
    2. 在第一行和第二行中,奇数位置的所有字符必须相等
    3. (此时你不必考虑角色2之外的角色)

      1. 第一行的第一个和第二个字符必须等于第二行的第二个和第一个字符
      2. 第一行的第一个和第二个字符必须不同