当前位置: 首页 > 面试题库 >

如何在数组中找到并打印最大值的索引?

谭曦
2023-03-14
问题内容

对于我的项目,我需要制作一个程序以10个数字作为输入并显示这些数字的模式。该程序应使用两个数组和一个将数字数组作为参数并在数组中返回最大值的方法。

基本上,到目前为止,我所做的是使用第二个数组来跟踪一个数字出现了多少次。查看初始数组,您将看到模式为4。(显示最多的数字)。在第二个数组中,索引4的值为2,因此2将是第二个数组中的最大值。我需要在第二个数组中找到该最大值,然后打印索引。我的输出应为“
4”。

在尝试生成“ 4”之前,我的程序一直运行良好,并且尝试了一些不同的操作,但似乎无法使其正常工作。

感谢您的时间!

public class arrayProject {

public static void main(String[] args) {
    int[] arraytwo = {0, 1, 2, 3, 4, 4, 6, 7, 8, 9};
    projecttwo(arraytwo);
}


public static void projecttwo(int[]array){
    /*Program that takes 10 numbers as input and displays the mode of these numbers. Program should use parallel
     arrays and a method that takes array of numbers as parameter and returns max value in array*/
    int modetracker[] = new int[10];
    int max = 0; int number = 0;
    for (int i = 0; i < array.length; i++){
        modetracker[array[i]] += 1;     //Add one to each index of modetracker where the element of array[i] appears.
    }

    int index = 0;
    for (int i = 1; i < modetracker.length; i++){
        int newnumber = modetracker[i];
        if ((newnumber > modetracker[i-1]) == true){
            index = i;
        }
    } System.out.println(+index);

}
}

问题答案:

您的错误在于比较 if ((newnumber > modetracker[i-1])。您应该检查是否newnumber大于已找到的最大值。那是if ((newnumber > modetracker[maxIndex])

您应该将最后一行更改为:

    int maxIndex = 0;
    for (int i = 1; i < modetracker.length; i++) {
        int newnumber = modetracker[i];
        if ((newnumber > modetracker[maxIndex])) {
            maxIndex = i;
        }
    }
    System.out.println(maxIndex);


 类似资料:
  • 我需要从数组中选择10个最小的数字(有2000个项目)并打印它们的索引。 起初,我尝试对这个数组排序并打印值数组[0到9]。这是最小的数字,但我丢失了这些值的索引,它们是非排序数组。 第二种选择是尝试使用treeMap,它工作得很好,但当我有两个相等的键时,它只打印其中一个,但我需要同时打印这两个键。 将代码与treeMap一起使用的示例: 到目前为止,我还没有使用treeMap,所以有可能存在一

  • 左右数组是当前索引的左右子级的索引号。如果其中一个为-1,则该子代不存在。如果两者都为-1,则索引处的节点是叶节点。我知道这在现实世界中不太可能实现,但这是一项任务。 不管怎样,我正试图在一个实现这个想法的类中实现一个remove方法。除了一个节点有两个子节点的情况,我让它适用于所有情况。这里的问题是,我调用了一个递归方法(我创建的所有方法都必须是递归的),该方法应该返回包含我要删除的节点的左子树

  • 问题内容: 假设我有一个对象数组。并且对象具有属性。除了逐一读取对象并逐一比较值之外,是否还有其他捷径可做?谢谢。 问题答案: 您可以简单地将用户数组映射到用户年龄数组和查找最大年龄数组:

  • 我有两个数组 它们的长度都是4。City保存每个城市的名称,temp保存每个城市的平均温度。温度中的温度与城市中的城市顺序相同。所以我的问题是,我怎样才能得到temp中最大int的索引?我想打印出来

  • 以我的例子为例,有一个car对象,并发现基于模型(group by)的最小和最大价格值。 但我找不到哪些汽车物品有最大和最小的价格。我怎么能那样做?

  • 本文向大家介绍如何找到R中向量的最小值和最大值的索引?,包括了如何找到R中向量的最小值和最大值的索引?的使用技巧和注意事项,需要的朋友参考一下 在分析项目中进行数据探索时,有时我们需要找到一些值的索引,主要是最小值和最大值的索引,以检查相应的数据行是否包含一些关键信息,或者我们可能会忽略它。此外,如果我们不想忽略它们,有时会根据数据特征将这些值转换为另一个值。 示例