当前位置: 首页 > news >正文

做国外网站翻译中国小说赚钱网络推广员是干什么的

做国外网站翻译中国小说赚钱,网络推广员是干什么的,wordpress文章新窗口,自己做网站用什么数据库目录 一、用栈实现队列二、用队列实现栈三、有效的括号四、删除字符串中的所有相邻重复项五、逆波兰表达式求值六、滑动窗口最大值七、前 K 个高频元素 一、用栈实现队列 Leetcode 232 class MyQueue { public:stack<int> in, out;MyQueue() {}void push(int x) {in.pu…

目录

  • 一、用栈实现队列
  • 二、用队列实现栈
  • 三、有效的括号
  • 四、删除字符串中的所有相邻重复项
  • 五、逆波兰表达式求值
  • 六、滑动窗口最大值
  • 七、前 K 个高频元素

一、用栈实现队列

Leetcode 232

class MyQueue {
public:stack<int> in, out;MyQueue() {}void push(int x) {in.push(x);}int pop() {if (out.empty()) while (!in.empty())out.push(in.top()), in.pop();int res = out.top();out.pop();return res;}int peek() {int res = this->pop();out.push(res);return res;}bool empty() {return in.empty() && out.empty();}
};

二、用队列实现栈

Leetcode 225

两个队列:

class MyStack {
public:queue<int> que1, que2; // que2用于备份que1MyStack() {}void push(int x) {que1.push(x);}int pop() {int cnt = que1.size();cnt -- ;while (cnt -- )que2.push(que1.front()), que1.pop();int res = que1.front();que1.pop();que1 = que2;while (!que2.empty()) que2.pop();return res;}int top() {return que1.back();}bool empty() {return que1.empty();}
};

一个队列:

class MyStack {
public:queue<int> que;MyStack() {}void push(int x) {que.push(x);}int pop() {int cnt = que.size();cnt -- ;while (cnt -- )que.push(que.front()), que.pop();int res = que.front();que.pop();return res;}int top() {return que.back();}bool empty() {return que.empty();}
};

三、有效的括号

Leetcode 20

class Solution {
public:bool isValid(string s) {if (s.size() % 2) return false;stack<char> st;for (int i = 0; i < s.size(); i ++ ) {char c = s[i];if (c == '(') st.push(')');else if (c == '{') st.push('}');else if (c == '[') st.push(']');else if (st.empty() || st.top() != c) return false; // 为空或者不匹配else st.pop(); // 相等}return st.empty();}
};

四、删除字符串中的所有相邻重复项

Leetcode 1047

开辟一个栈:

class Solution {
public:string removeDuplicates(string s) {stack<char> st;for (char c: s) if (st.empty() || c != st.top()) st.push(c);else st.pop();string res = "";while (!st.empty())res += st.top(), st.pop();reverse(res.begin(), res.end());return res;}
};

直接使用字符串作为栈:

class Solution {
public:string removeDuplicates(string s) {string res;for (char c: s) if (res.empty() || res.back() != c) res.push_back(c);else res.pop_back();return res;}
};

五、逆波兰表达式求值

Leetcode 150

class Solution {
public:int evalRPN(vector<string>& s) {stack<long long> st;for (int i = 0; i < s.size(); i ++ )if (s[i] == "+" || s[i] == "-" || s[i] == "*" || s[i] == "/") {long long a = st.top(); st.pop();long long b = st.top(); st.pop();if (s[i] == "+") st.push(b + a); if (s[i] == "-") st.push(b - a); // 注意顺序if (s[i] == "*") st.push(b * a);if (s[i] == "/") st.push(b / a);} else st.push(stoll(s[i]));int res = st.top(); st.pop();return res;}
};

六、滑动窗口最大值

Leetcode 239

单调队列经典题目,具体实现看参考文章

这个题目参考文章里面使用了库 deque 方便再前后两端进行操作,但是这里可以直接使用一个数组 q q q 代替,效率更高,数组 q q q 的作用是队列中队头和队尾的位置。

class Solution {
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {int n = nums.size();vector<int> q(n, 0), res;int hh = 0, tt = -1;for (int i = 0; i < n; i ++ ) {if (hh <= tt && i - k + 1 > q[hh]) hh ++ ;while (hh <= tt && nums[q[tt]] <= nums[i]) tt -- ;q[ ++ tt] = i;if (i - k + 1 >= 0) res.push_back(nums[q[hh]]);}return res;}
};

七、前 K 个高频元素

Leetcode 347

使用优先队列(披着队列外衣的堆),如果使用的是大顶堆,每次弹出堆顶最大的一个数,就不能保证题目找出频率最高的 k k k 个数,而且使用大顶堆每次要对整个堆进行排序,浪费时间。如果是使用小顶堆,每次仅保留 k k k 个频率最高的元素在堆里面,就需要只对 k k k 个元素进行排序,节省时间开销。

class Solution {
public:// 小顶堆class mycomparison{public:bool operator() (const pair<int, int>& lhs, const pair<int, int>& rhs) {return lhs.second > rhs.second;}};vector<int> topKFrequent(vector<int>& nums, int k) {unordered_map<int, int> mp; // <元素,频率>for (int c: nums) mp[c] ++ ;priority_queue<pair<int, int>, vector<pair<int, int>>, mycomparison> pri_que; // 小顶堆for (auto it = mp.begin(); it != mp.end(); it ++ ) {pri_que.push(*it);if (pri_que.size() > k) pri_que.pop();}vector<int> res(k);for (int i = k - 1; i >= 0; i -- )res[i] = pri_que.top().first, pri_que.pop();return res;}
};
http://www.hkea.cn/news/976285/

相关文章:

  • 手机站电影基础建站如何提升和优化
  • 江苏 网站备案百度贴吧官网app下载
  • 网站制作三站湖南网站seo公司
  • 简单做任务赚钱网站企业管理培训课程报名
  • 零点研究咨询集团官方网站建设相似图片在线查找
  • 网站开发需要什么软件关键词app
  • 360全景网站建设做了5天游戏推广被抓了
  • 政府网站建设经验典型材料河源今日头条新闻最新
  • 为什么要进行网站备案佛山市人民政府门户网站
  • 摄影网站开发背景百度app交易平台
  • 吉林网站建设石家庄百度快照优化排名
  • 大学生网站开发总结报告app推广接单发布平台
  • 自己做的网站怎么推广seo顾问培训
  • 怎么做业务网站百度搜索提交入口
  • 网页设计网站图片西安百度推广运营公司
  • 济南网站开发推广网络服务包括
  • 五星级酒店网站建设关键词歌词表达的意思
  • 浙江高端建设网站网站关键词如何优化
  • 2017网站开发工程师五合一网站建设
  • 学编程的孩子有什么好处seo网站诊断文档案例
  • 广州中新知识城开发建设网站无锡百姓网推广
  • 宝鸡做网站费用关键词你们懂的
  • wordpress 仿站 教程百度竞价点击一次多少钱
  • 做h的游戏 迅雷下载网站百度推广管家
  • 营销型网站建设的目的外贸网站平台都有哪些 免费的
  • 广东做网站公司广州从化发布
  • 能发外链的网站国际新闻今天最新消息
  • 做软件的网站关键词优化快速排名
  • 网站建设与管理简介网站链接交易
  • 英文网站建设教程网盘资源搜索神器