本文主要是介绍【算法刷题day13】Leetcode:239. 滑动窗口最大值、 347.前 K 个高频元素,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
239. 滑动窗口最大值
文档链接:[代码随想录]
题目链接:239. 滑动窗口最大值
状态:ok 困难
题目:
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回滑动窗口中的最大值。
注意:
class Solution {
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {MyQueue que;vector<int> result;for(int i = 0; i < k; i++){que.push(nums[i]);}result.push_back(que.front());for(int i = k; i < nums.size(); i++){que.pop(nums[i - k]);que.push(nums[i]);result.push_back(que.front());}return result;}
private:class MyQueue{public:deque <int> que;void pop(int value){if(!que.empty() && value == que.front()){que.pop_front();}}void push(int value){while(!que.empty() && value > que.back()){//要用循环que.pop_back();}que.push_back(value);}int front() {return que.front();}};
};
347.前 K 个高频元素
文档链接:[代码随想录]
题目链接: 347.前 K 个高频元素
状态:
题目:
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。
注意:
小顶堆,还没学
这篇关于【算法刷题day13】Leetcode:239. 滑动窗口最大值、 347.前 K 个高频元素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!