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

在数组中查找最小元素

沙小白
2023-03-14
 public void deleteMin() {

  // set value for comparision starting from the beginning of the array
  int arrayMin = arr[0];

  for (int j = 0; j < nElems; j++) {
     if (arr[j] < arrayMin) {
        arrayMin = arr[j];
     }
    // insert delete functionality    
  } 
  System.out.println("Minimum element in the array: " + arrayMin);
}

共有1个答案

濮阳钟展
2023-03-14

你的代码现在是正确的。Arraymin在代码完成后包含0的唯一原因是

  • nelems未设置为arr.length
  • 0确实是数组中最小的元素。

代码可以简化。

int arrayMin = IntStream.of(arr).min().getAsInt();
int arrayMin = arr[0];
for (int i : arr)
    arrayMin = Math.min(arrayMin, i);
 类似资料:
  • 问题内容: 我只需要找到1D中最小的第n个元素。 例如: 我想获得第五个最小的元素,所以我想要的输出是。 我当前的解决方案是这样的: 但是,找到5个最小的元素然后再选择最大的元素对我来说似乎很笨拙。有更好的方法吗?我是否缺少一个可以实现目标的功能? 有些问题的标题与此相似,但我没有看到任何答案。 编辑: 我本来应该提到它,但是性能对我来说很重要。因此,虽然不错的解决方案对我来说不起作用。 结果:

  • 所以...我有:int array[]={-8,2,0,5,-3,6,0,9}; 我想找到一个最小的正数(在上面的列表中是2)

  • 问题内容: 我正在尝试创建两种方法,一种找到对象数组中的最小值,另一种找到对象数组中第二个最小值。 我已经这样写了两个 我已经找到了如何找到最小的值,我只需要找到第二个最小的值,我不确定怎么做。 有任何想法吗?谢谢! 问题答案: 像这样的东西:

  • 问题内容: 给你一个包含 1 到 n 的整数数组,但数组中从 1 到 n 的数字之一丢失了。您需要提供最佳解决方案来找到丢失的数字。数组中的数字不能重复。 例如: 问题答案: 用 初始化两个变量最大和最小 迭代数组 如果当前元素大于最大值,则将当前元素分配给最大值。 如果当前元素小于最小值,则将当前元素分配给最小值。 最后你会得到最小和最大的元素。 在数组中查找最小和最大元素的 Java 代码:

  • 到目前为止,这就是我的答案,但从逻辑上讲,我的答案对于findNextCity方法似乎是错误的。此外,我甚至不知道如何处理问题的第二部分(以下)。 我应该遍历cityQueue中的每个元素,使用下一种方法计算的欧几里德距离(distbetweencies),确定哪个元素最接近当前城市(从第一个参数)。我必须忽略已经标记在堆栈中或堆栈中的城市以及当前城市本身(否则,城市将始终是离自身最近的城市!)。

  • 问题内容: 我正在尝试在数组中找到数字的最小值,但并非总是能正常工作。这是我写的代码: 有人可以纠正我吗? 问题答案: 不需要外部循环,它只运行一次,并且无论如何您都不会使用。你为什么有它? 对于内部循环,您需要与最小值进行比较。现在,您正在将其与数组中的第一个元素(不一定是最小值)进行比较。 另外,您可以从1开始循环,因为您不需要与自身进行比较(它只分配给)