检查两个字符串是否包含相同单词但顺序不同

克里克·詹姆斯

我需要一种方法来检查两个字符串,以查看它们中是否有相同的单词但位置不同。我只需要单词中没有单词的数量,而不是实际单词。例如:字符串1为“这是乱序测试”,字符串2为“这是乱序测试”将返回1,因为一个单词乱序。

我从以下代码开始:

public int OutOfOrder(string string1, string string2)
{
    var search1 = string1.Split(' ');
    var search2 = string2.Split(' ');
    var OutOfOrder = 0;

    for (int i = 0; i < search1.Count() - 1; i++)
    {
        if (search2.Contains(search1[i]))
        {
            for (int j=0; j < search2.Count()-1; j++)
            {
                if(search1[i] == search2[j] && i == j)
                {
                    continue;
                }
                else if (search1[i] == search2[j] && i != j)
                {
                    OutOfOrder++;
                    break;
                }
            }
        }
    }

    return OutOfOrder;
}

但是,遇到第一个后,一切都乱了,返回的数字不正确。

梅雷布·海尔

做到了

public static int OutOfOrder(string a, string b){

            //not out of order issuex`
        if (a.Length != b.Length) return -1;

        foreach(string str in a.Split(' ')){
            //not out of order issue
            if (!b.Contains(str)) return -1;
        }

        //if out of order issue...

        int count=0;

        string[] awords = a.Split(' ');
        string[] bwords = b.Split(' ');

        for(int i=0; i<bwords.Length; i++){
            if (!awords[i].Equals(bwords[i])) count++;
        }

        return (int)Math.Ceiling(0.0f + count/2);
        //if one is out of order, then it's expected it renders another out of order too.
        //so we need to divide it by 2 to get the one disturbing.
        //and ceiling is used to help for odd number of words
    }

现在测试

public static void Main(string[] args)
{
    string a = "This solves the problem";
    string b = "This solves problem the";

    Console.WriteLine(OutOfOrder(a, b));
}

输出1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查两个字符串是否具有相同的单词 蟒蛇

来自分类Dev

如何检查两个字符串是否包含相同的字母

来自分类Dev

检查两个字符串是否在python中包含相同的模式

来自分类Dev

查找两个字符串是否由相同单词组成的函数

来自分类Dev

c检查两个字符串是否相同

来自分类Dev

如何检查两个字符串的内容是否相同?

来自分类Dev

比较并检查两个字符串中的最后4个字符是否相同?

来自分类Dev

检查两个字符串之间是否存在特定的字符串

来自分类Dev

计算两个字符串中的顺序匹配单词

来自分类Dev

检查一个字符串是否包含列表中的至少两个字符串

来自分类Dev

检查一个字符串是否包含列表中的至少两个字符串

来自分类Dev

在c中的两个字符串中找到相同的单词

来自分类Dev

在c中的两个字符串中找到相同的单词

来自分类Dev

如何比较两个字符串并返回相同的单词数?

来自分类Dev

如何在两个字符串中按句子找到不同的单词?

来自分类Dev

比较两个字符串并突出显示不同的单词

来自分类Dev

python - 当两个字符串都存储在python的列表中时,如何检查字符串是否包含子字符串?

来自分类Dev

Linux Shell:如果字符串中包含相同的单词,则合并文件中的两个字符串

来自分类Dev

如何检查,如果两个字符串数组是相同的

来自分类Dev

检查两个字符串是否非常相似(相似的字符,模式等)

来自分类Dev

如何检查两个字符串有多少不同

来自分类Dev

给定两个字符串的长度,测试两个字符串是否相同

来自分类Dev

如何确定两个字符串在TypeScript中是否相同?

来自分类Dev

如何在if语句中检查两个字符串是否相等?

来自分类Dev

检查两个字符串是否在C中排列

来自分类Dev

检查两个字符串是否为字谜

来自分类Dev

检查两个字符串是否在Java中是置换(Hashmap与Array的效率)

来自分类Dev

使用基本Java检查两个字符串是否彼此相似

来自分类Dev

检查两个字符串是否是回文-忽略并使用案例写作?

Related 相关文章

  1. 1

    检查两个字符串是否具有相同的单词 蟒蛇

  2. 2

    如何检查两个字符串是否包含相同的字母

  3. 3

    检查两个字符串是否在python中包含相同的模式

  4. 4

    查找两个字符串是否由相同单词组成的函数

  5. 5

    c检查两个字符串是否相同

  6. 6

    如何检查两个字符串的内容是否相同?

  7. 7

    比较并检查两个字符串中的最后4个字符是否相同?

  8. 8

    检查两个字符串之间是否存在特定的字符串

  9. 9

    计算两个字符串中的顺序匹配单词

  10. 10

    检查一个字符串是否包含列表中的至少两个字符串

  11. 11

    检查一个字符串是否包含列表中的至少两个字符串

  12. 12

    在c中的两个字符串中找到相同的单词

  13. 13

    在c中的两个字符串中找到相同的单词

  14. 14

    如何比较两个字符串并返回相同的单词数?

  15. 15

    如何在两个字符串中按句子找到不同的单词?

  16. 16

    比较两个字符串并突出显示不同的单词

  17. 17

    python - 当两个字符串都存储在python的列表中时,如何检查字符串是否包含子字符串?

  18. 18

    Linux Shell:如果字符串中包含相同的单词,则合并文件中的两个字符串

  19. 19

    如何检查,如果两个字符串数组是相同的

  20. 20

    检查两个字符串是否非常相似(相似的字符,模式等)

  21. 21

    如何检查两个字符串有多少不同

  22. 22

    给定两个字符串的长度,测试两个字符串是否相同

  23. 23

    如何确定两个字符串在TypeScript中是否相同?

  24. 24

    如何在if语句中检查两个字符串是否相等?

  25. 25

    检查两个字符串是否在C中排列

  26. 26

    检查两个字符串是否为字谜

  27. 27

    检查两个字符串是否在Java中是置换(Hashmap与Array的效率)

  28. 28

    使用基本Java检查两个字符串是否彼此相似

  29. 29

    检查两个字符串是否是回文-忽略并使用案例写作?

热门标签

归档