查找重复的单词

Posted

技术标签:

【中文标题】查找重复的单词【英文标题】:Find repeated words 【发布时间】:2021-12-13 18:50:36 【问题描述】:

我有这个任务需要去

编写一个接受字符串参数的方法。如果字符串有一个双字母(即连续两次包含相同的字母),那么它应该返回 true。否则,它应该返回 false。

此方法必须命名为 hasRepeat() 并具有 String 参数。此方法必须返回一个布尔值。

但是,当我签入我的代码时,我没有通过一些测试。

它说当没有重复的字母时它不会返回false

这是我的代码:

public static boolean hasRepeat(String word) 
    for (int i = 0; i < word.length(); i++) 
        for (int j = i + 1; j < word.length(); j++) 
            if (word.substring(i, i + 1).equals(word.substring(i, j))) 
                return true;
            
        
    
    return false;

【问题讨论】:

这是因为j总是以i+1开头,所以你检查相同的子串是否相等。 【参考方案1】:

嵌套循环不需要。我们所要做的就是检查 current char 是否等于 previous

public static boolean hasRepeat(String word) 

   // hasRepeat is a public method; we shoud be ready for any input
   if (word == null)
       return false;

   // here we start from 1: there's no previous char for charAt(0)
   for (int i = 1; i < word.length(); ++i)
     if (word.charAt(i - 1) == word.charAt(i))
       return true;

   return false;

【讨论】:

以上是关于查找重复的单词的主要内容,如果未能解决你的问题,请参考以下文章

如何从单词列表中查找 DF 中的匹配单词并在新列中返回匹配的单词 [重复]

查找重复的单词

查找连续重复单词时的Python后视正则表达式“固定宽度模式”错误

在sql表条目中查找重复单词[关闭]

编写一个字谜查找器(来自 txt 文件中的单词列表)[重复]

如何查找字符串中所有出现的单词的所有索引[重复]