【问题标题】:Return the number of unique number values in the array "arr"返回数组“arr”中唯一数值的数量
【发布时间】:2021-03-03 07:15:30
【问题描述】:

我正在寻找一种方法来查找数组中唯一数值的数量。

我不能对这个项目使用导入,但我可以使用循环和条件语句。

比如数组

int[] arr1 = {3, -3, -1,  0, -1,  4,  0,  3,  4,  0};

应该返回 5

这是我到目前为止的想法:

public static int countUniqueIntegers(int[] arr){
    
    // Initialize int "counter" with value 0
    int num_unique = 0;
    
    // TO DO: Add logic to count unique values
    if(arr.length == 0) return 0;
    if(arr.length == 1) return 1;
    double currentNumber = arr[0];
    int currentCount =1;
    for(int i =1; i < arr.length; i++)
    {
      if(arr[i] != currentNumber)
      {
        currentCount++;
        currentNumber = arr[i];
      }
    }
    // Return number of unique values
    return num_unique;
  }

【问题讨论】:

  • 你的问题是什么?看看How to Ask 了解如何提出一个好问题,看看meta.stackoverflow.com/q/334822 了解如何提出有关家庭作业的问题
  • 我需要帮助才能使输出无法与我创建的代码一起使用。有什么我做错了或者我正在寻找更好的方法吗?谢谢
  • 你考虑过使用套装吗?你只需要一个循环就可以做到这一点。
  • @WJS 我认为这将算作import
  • @TimHunter 啊!错过了那个。

标签: java arrays loops return unique


【解决方案1】:

我们可以假设数组中的每个值都是唯一的。因此,开始时唯一值的数量与数组长度相同。 在此之后,我们必须将数组中的每个值与同一数组中的每个其他值进行比较。为此,您需要在“for”循环中再添加一个“for”循环。如果外部(第一个)循环中的当前项目等于内部循环中的某个项目,则只需从具有唯一数字计数的变量中减去 1(即开始时的数组长度)。
你现在要做的就是编程 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多