【问题标题】:check if 2d array of string forms a chess board pattern检查二维字符串数组是否形成棋盘图案
【发布时间】:2017-01-12 10:25:09
【问题描述】:

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

对于实例

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

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

【问题讨论】:

    标签: java multidimensional-array chess minimize


    【解决方案1】:

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

    例如:

    1. 如果至少有一行,则行数必须等于第一行的长度,否则结构为 0x0 棋盘
    2. 如果至少有两行,则行数必须等于第二行的长度,否则结构是 1x1 棋盘
    3. 所有偶数“线”必须相等
    4. 所有奇数“线”必须相等

    (此时您不必再考虑第 2 行以外的行)

    1. 在第一行和第二行中,偶数位置的所有字符必须相等
    2. 在第一行和第二行中,奇数位置的所有字符必须相等

    (此时你不必考虑字符2以外的字符)

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

    【讨论】:

    • 如果第一个字符本身是错误的怎么办。例如:[“cba”、“bab”、“aba”]
    • 在这种情况下,测试 5 将失败。使用 ["cb", "ba"] 会通过,但测试 7 会失败。
    猜你喜欢
    • 2018-07-10
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 2016-09-12
    • 1970-01-01
    相关资源
    最近更新 更多