1299. 将每个元素替换为右侧最大元素
元素 最大 替换 每个 右侧
2023-09-14 09:06:53 时间
1299. 将每个元素替换为右侧最大元素
给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。
完成所有替换操作后,请你返回这个数组。
示例 1:
输入:arr = [17,18,5,4,6,1]
输出:[18,6,6,6,1,-1]
解释:
- 下标 0 的元素 --> 右侧最大元素是下标 1 的元素 (18)
- 下标 1 的元素 --> 右侧最大元素是下标 4 的元素 (6)
- 下标 2 的元素 --> 右侧最大元素是下标 4 的元素 (6)
- 下标 3 的元素 --> 右侧最大元素是下标 4 的元素 (6)
- 下标 4 的元素 --> 右侧最大元素是下标 5 的元素 (1)
- 下标 5 的元素 --> 右侧没有其他元素,替换为 -1
示例 2:
输入:arr = [400]
输出:[-1]
解释:下标 0 的元素右侧没有其他元素。
解题代码如下:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* replaceElements(int* arr, int arrSize, int* returnSize){
int max[arrSize];
int i=0;
int maxt=arr[arrSize-1];
for(i=arrSize-1;i>=0;i--){
if(arr[i]>maxt){
max[i]=arr[i];
maxt=arr[i];
}
else{
max[i]=maxt;
}
}
for(i=0;i<arrSize-1;i++){
arr[i]=max[i+1];
}
arr[i]=-1;
*returnSize=arrSize;
return arr;
}
相关文章
- 为元素节点添加事件处理程序
- Java实现 LeetCode 217 存在重复元素
- js document.activeElement 获得焦点的元素
- 将元素为多个列表的列表元素进行转置、去重处理
- 从一个集合中查找最大最小的N个元素——Python heapq 堆数据结构
- 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
- LeetCode-219. 存在重复元素 II
- ZZNUOJ_用C语言编写程序实现1137:查找最大元素(附完整源码)
- 使用set集合去除重复元素&@EqualsAndHashCode注解
- 【LeetCode 中等 堆 python3】 215. 数组中的第K个最大元素
- 含有重复元素集合的全排列-C语言dfs算法
- 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。
- 习题 6.8 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。
- 数组任意两个元素之间的最大差值
- 输入10个数,求出最大元素是第几个数(数组作为函数參数)
- 1161. 最大层内元素和
- LabVIEW把超过256个元素的数组转化为一个簇