首页 > 解决方案 > 如何在数组中找到最大值然后删除该最大值元素并在java中插入该最大值元素除以2(地板除法)

问题描述

我有一个 java 程序,我们在其中得到一个数组让我们说 {20 ,5 ,7 ,9} 在这个数组中我们必须执行以下操作:(索引在这里无关紧要)

  1. 在这个数组中找到最大元素并删除数组中的那个元素。
  2. 然后再次添加最大元素除以 2(地板除法)。我们可以在任何我们想要的地方添加最大元素除以 2。

标签: javaarrays

解决方案


Java中的数组是静态的,因此一旦实例化,数组的大小就不能改变。因此我们不能删除一个元素并减小数组大小。

int max=-Integer.MIN_VALUE;
int maxIndex=-1;

现在遍历数组,如果元素大于 maxValue,则更新 maxValue 和 maxIndex。

for(int i=0;i<array.length;i++)

      {
        if(array[i]>max)
        {
                max= array[i];
                maxIndex=i;
        }
    }

现在用 MaxValue/2 替换 maxIndex 处的值来解决这个问题。由于位置无关紧要,并且必须在最大索引处执行删除操作,不妨将其放置在那里,或者您可以使用 arrayLists 专门删除该索引处的元素,然后使用ArrayList.add() 方法。干杯!


推荐阅读