当前位置: 首页 > 知识库问答 >
问题:

如何查看数组中有多少值是唯一的。就像在不等于数组中的其他值向前或向后一样?

程赞
2023-03-14

我想看看数组中有多少唯一的值。唯一性是它不等于数组中的任何其他字符串。这里是我的,但它每次都返回正确的值。

import java.util.ArrayList;

 public class Answer {   
    public static int answer(String[] x) { 
        ArrayList<String> collectionOfCodes = new ArrayList<String>();
        int arrayLength = x.length;

        for (int index = 0; index < arrayLength; index++) {
            if(collectionOfCodes.contains(x[index]) || collectionOfCodes.contains(x[index])) {} 
            else {
                collectionOfCodes.add(x[index]);
            }
        }
        return collectionOfCodes.size();
     }
}

注:为其他读者澄清这个问题,从OP的评论到答案:

短语“向前或向后”不是指数组中的较早或较晚,而是指从左到右和从右到左读取的字符串,例如abcdeedcba被视为“相同”值。

共有1个答案

屈晨
2023-03-14

上面的代码是错误的,你没有检查反向,但是你检查了两次同样的事情:

if(collectionOfCodes.contains(x[索引])| | collectionOfCodes。包含(x[索引]){}

无论如何,您可以创建一个循环,并将每个字符串以规范形式添加到HashSet中。规范形式可以是在词汇比较中始终使用前面的形式:

HashSet hashset = new HashSet();
for(String str : x) {
  String reverse = new StringBuilder(str).reverse().toString();
  hashset.add(str.compareTo(reverse) <= 0 ? str : reverse);
}
return hashset.size();
 类似资料:
  • 我在一个VueJS实例中有两个数组。这些阵列显示学生可以在学校参加的课程。首先是用户参加的课程,其次是有学生参加的所有课程。 数组看起来像这样: 这两个数组都由从用户输入填充的数据组成,因此它们会随时间而变化。第一个数组是用户特定的内容(用户参加的课程),第二个数组是有人参加的所有课程的数组。 我想检查与用户参加相同课程的人数。在这种情况下,我想检查数组myCourses(课程a和b)中有多少在数

  • 问题内容: 我已经做了很多关于溢出和谷歌的环顾工作,但是对于我的具体情况,结果都不起作用。 我有一个名为$ holder的占位符数组,值如下: 我正在尝试从此多维数组中提取不同/唯一的值。我想要的最终结果是一个包含(13,121)的变量,或者是(最好是)一个如下数组:Array([0] => 13 [1] => 121) 再次,我尝试了序列化等,但是当在每个数组中使用单个键进行操作时,我不太了解它

  • 问题内容: 如何获得数组中唯一值的列表?我是否总是必须使用第二个数组,或者是否有类似于JavaScript中Java哈希表的东西? 我将仅使用 JavaScript 和 jQuery 。不能使用其他库。 问题答案: 由于我在@Rocket答案的注释中继续进行了讨论,因此我不妨提供一个不使用任何库的示例。这需要两个新的原型函数,并且 为了提高可靠性,可以用MDN的垫片代替,并检查每个元素的值是否等于

  • 问题内容: 在处理从YQL返回的JSON时,我发现自己正在寻找一种从数组中提取所有唯一值的方法。 代码看起来有点“忙”,我想知道是否有更优雅的方法从数组中提取唯一值。 问题答案: 您可以使用indexOf来检查元素是否在数组中。 或者如果您具有唯一的ID或名称,则使用对象而不是数组:var output = {}

  • 这里有一个映射,我正在尝试检查数组中的值,如果它找到,则返回;如果它没有找到,则返回预期输出。根据我对和索引的了解,如果(x[index]===y[j]){condition=true}应该进入

  • 我有一个Numpy数组如下: 并希望使用np.greater将每行中的“向量”与其他行进行比较,以便: 但是如果我尝试它会将中的每个数字与中的每个其他数字进行比较,因此: 如何使外部比较行明智而不是元素明智?