讨论/题目交流/求一道算法题/
求一道算法题

给出一个元素无序的数组,求出一个数,使得其左边的数都小于它,右边的数都大于等于它。
要求时间复杂度n

展开讨论

可以这样,
先从左到右遍历,求一个leftMax数组,记录nums[i]左边的最大值;
再从右到左遍历求一个rightMin数组,记录nums[i]右边的最小值。
然后从左到右遍历每个元素,如果某元素满足leftMax[i]<nums[i]<=rightMin[i],则求得该数

2
展开全部 6 讨论