摘要: 问题描述 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞ 。 你必须实现时间复杂度为 O(log n) 的算法来解决此 阅读全文
posted @ 2022-11-30 20:40 greatestchen 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 问题描述 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 阅读全文
posted @ 2022-11-30 19:55 greatestchen 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 问题描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], 阅读全文
posted @ 2022-11-30 19:48 greatestchen 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 问题描述 设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。 void push(int val) 将一个整数 val 压入栈顶。 int pop() 删除并返回堆栈中出现频率最高的元素。 如果出 阅读全文
posted @ 2022-11-30 18:58 greatestchen 阅读(9) 评论(0) 推荐(0) 编辑