📌  相关文章
📜  对于数组中的每个元素,小于左侧当前元素的最大元素(1)

📅  最后修改于: 2023-12-03 14:53:38.766000             🧑  作者: Mango

对于数组中的每个元素,小于左侧当前元素的最大元素

在编程中,我们经常需要处理数组数据。一个常见的任务是对于数组中的每个元素,找到该元素左侧的最大元素。

这个问题可以通过遍历数组并使用一个变量来跟踪左侧的最大元素来解决。对于每个元素,我们可以检查其左侧所有元素,并找到其中的最大值。接下来,我们将该最大值存储在一个新的数组中,以便在需要时访问。

以下是使用不同编程语言解决这个问题的示例代码片段,演示了如何找到数组中每个元素左侧的最大元素,并将结果存储在新的数组中。

Python
def find_left_max(nums):
    left_max = float('-inf')
    result = []
    for num in nums:
        result.append(left_max)
        left_max = max(left_max, num)
    return result

# 示例用法
array = [1, 3, 2, 5, 4]
output = find_left_max(array)
print(output)  # 输出: [None, 1, 3, 3, 5]
Java
public static int[] findLeftMax(int[] nums) {
    int leftMax = Integer.MIN_VALUE;
    int[] result = new int[nums.length];
    for (int i = 0; i < nums.length; i++) {
        result[i] = leftMax;
        leftMax = Math.max(leftMax, nums[i]);
    }
    return result;
}

// 示例用法
int[] array = {1, 3, 2, 5, 4};
int[] output = findLeftMax(array);
System.out.println(Arrays.toString(output));  // 输出: [0, 1, 3, 3, 5]
JavaScript
function findLeftMax(nums) {
    let leftMax = -Infinity;
    const result = [];
    for (const num of nums) {
        result.push(leftMax);
        leftMax = Math.max(leftMax, num);
    }
    return result;
}

// 示例用法
const array = [1, 3, 2, 5, 4];
const output = findLeftMax(array);
console.log(output);  // 输出: [Number.NEGATIVE_INFINITY, 1, 3, 3, 5]

以上示例代码演示了如何使用Python、Java和JavaScript解决这个问题。你可以根据自己使用的编程语言和需求来选择适合的代码片段。

希望这个介绍对你了解对于数组中每个元素小于左侧当前元素的最大元素问题有所帮助!