![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
wwena8
现为研一在读学生
展开
-
算法2-生成窗口最大值数组
* 数组arr与整数w,w从左往右划,求每次窗口内的最大值,并返回结果数组* 思路:* 1 一个双端队列辅助,存储数组下标* 2 右边界滑动,弹出所有小于、等于新入元素的数* 3 左边界滑动,对头过期* 4 队列首元素一定是最大元素<?phpfunction getWindowMaxArray($array, $w){ $array_size = count($array); // 边界条件 if ($array_size < $w || !$arr.原创 2020-05-30 20:35:00 · 110 阅读 · 0 评论 -
算法1-实现一个特殊栈,在实现栈的基本功能基础上,O(1)时间复杂度获取最小元素。
思路:1 两个栈 data、min2 往data中入数时同时往min中入数3 当新入元素小于、等于栈顶元素时,元素既入data又入min;当新入元素大于栈顶时新元素入data不入min4 弹栈时当data栈顶与min栈顶相同时都弹;当data栈顶大于min栈顶时只弹data代码<?phpclass Stack{ private $data; private $min; public function __construct() { .原创 2020-05-30 10:02:57 · 202 阅读 · 0 评论