java - Java 中最大字符串不匹配数

标签 java string

我最近在 Codehub 上遇到了一个问题,但无法解决这个查询。谁能帮我解决这个问题吗?

给定一个长度为 N 的字符串 S。您可以选择并反转 S 中任意长度的任何子字符串。您可以多次执行此操作。

通过执行操作确定最大不匹配数。

不匹配(S)定义为S和反向(S)中字符不同的对应位置的数量。例如:S = abab,reverse(S) = baba。不匹配数 = 4。S= abca。不匹配的数量 = 2。

伪代码:

static int solve( String S, int n)
{
//To do
}

如果代码完成后有人能够解释如何更容易地解释并解决这个问题,将会很有帮助。

最佳答案

我最近在一项能力测试中遇到了同样的问题,我不知道上述解决方案,但我在 python 中的下面的实现适用于上述问题

import itertools
def maximum_mismatches(s,n):
    if len(set(s)) == 1:
        return 0
    maxc = 0
    for str_c in set(itertools.permutations(s,n)):
        rev_str = str_c[::-1]
        counter = 0
        for i in range(n):
            if str_c[i] != rev_str[i]:
                counter += 1
        if maxc < counter:
            maxc = counter
    return maxc

我已经测试了多个测试用例,它正在工作

关于java - Java 中最大字符串不匹配数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60680525/

相关文章:

java - 实现雅可比算法来实现拉普拉斯方程

java - Freemarker 迭代对象的 ArrayList 并访问变量?

java - @RunWith 导致 Maven 忽略我用自己的运行者运行的测试

java - 在 SQL Server 中的 JDBC 插入上自动生成 key

c++ - 找到 $number 然后用 $number+1 替换它?

sql - 如何从亚马逊 Redshift 中的字符串中删除非数字字符(句号 "."除外)

java - 使用 SeekBar 更改图像透明度

string - Delphi - 在 CASE 语句中使用函数

javascript - 我怎样才能衡量有多少字符适合文档的宽度?

c# - 为什么编译器对这行代码有问题呢?