微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

执行数组操作后的最终最大元素

如何解决执行数组操作后的最终最大元素

我有一个数组 A,现在我想对其进行以下操作:

  1. 最佳选择两个索引 i 和 j,使得 i != j。
  2. 将 arr[i] 替换为 arr[i] – arr[j] 并从数组中移除 arr[j]。

对数组执行这些操作,使数组最终包含最大值。

示例:

{ 2,3,4,5 }

输出:2

说明:

取 i=0,j=1 然后 {1,5} //(3-2) 取 i=0,j=1 然后 {3,5} // (4-1) 取 i=0,j=1 然后 {2} // (5-3)

其他示例:

{ 1,7 } - 输出:5 { 9,1,5 } - 输出:-6

这是我的代码

static int find_maximum_value(int A[]) {
        int result = 0;
        for (int i = 1; i < A.length; i++) {
            A[i] = A[i] - A[i - 1];
        }
        result = A[A.length - 1];
        return result;
    }

这是几天前面试时问到的。

它适用于上述测试用例。但是还有另一个测试用例失败了。

对于输入 { 8,9,4 },输出应该是考试中提到的-3,但我的程序返回-13。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。