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

python做网站的书做旅游的网站 优帮云

python做网站的书,做旅游的网站 优帮云,设计网站外网,网站百度地图前言 这几个题目都是栈和队列的高频面试题目,主要是考察思路和coding能力,在前面几道题目的基础上进行延伸的。同时还有优先级队列和双端队列的用法 题目链接 150. 逆波兰表达式求值 - 力扣(LeetCode) 239. 滑动窗口最大值 - 力…

前言

 这几个题目都是栈和队列的高频面试题目,主要是考察思路和coding能力,在前面几道题目的基础上进行延伸的。同时还有优先级队列和双端队列的用法

题目链接

150. 逆波兰表达式求值 - 力扣(LeetCode) 

239. 滑动窗口最大值 - 力扣(LeetCode) 

一、逆波兰表达式求值

 说点白话:我们好奇计算器是怎么处理运算的不?我们会在编译原理这门课程中学到,逆波兰表达式,俗称后缀表达式,具体来说就是,计算机并不知道计算逻辑的优先级(括号的优先级),但是他能找到一个括号最先匹配的,这样我们就会花了很大的时间去遍历查询括号,还有运算符的优先级问题,我们都需要考虑,有什么方法可以跳过这些呢?就是后缀表达式,我们让符号去匹配他的计算数值,同时利用栈来对符号的优先级进行排序,这样两个问题都能得到解决,足以可见逆波兰表达式(后缀表达式的腻害之处)。

tips:注意除法运算和减法的顺序第一次写错了,哈哈哈 

    int evalRPN(vector<string>& tokens) {stack<long long> st;for(int i=0;i<tokens.size();i++){if(tokens[i]=="+"||tokens[i]=="-"||tokens[i]=="*"||tokens[i]=="/"){long long nums1=st.top();st.pop();long long nums2=st.top();st.pop();if(tokens[i]=="+")st.push(nums1+nums2);if(tokens[i]=="-")st.push(nums2-nums1);if(tokens[i]=="*")st.push(nums1*nums2);if(tokens[i]=="/")st.push(nums2/nums1);}else{st.push(stoll(tokens[i]));}}return st.top();}
};

二、滑动窗口求最大值

 思路:借助deque双端队列去实现这个题目比较简单一点,同时保持队列是递减的就行。

vector<int> maxSlidingWindow(vector<int>& nums, int k) {if(nums.size() == 0 || k == 0) return {};deque<int> deque;vector<int> res(nums.size() - k + 1);for(int j = 0, i = 1 - k; j < nums.size(); i++, j++) {// 删除 deque 中对应的 nums[i-1]if(i > 0 && deque.front() == nums[i - 1])deque.pop_front();// 保持 deque 递减while(!deque.empty() && deque.back() < nums[j])deque.pop_back();deque.push_back(nums[j]);if(i >= 0)res[i] = deque.front();}return res;}

三、前K个高频元素的值

 使用优先级队列,哈希表统计数据,压入数据,然后遍历出数据。

 

unordered_map<int, int> hmap;priority_queue<pair<int,int>> pq;vector<int> res;for (int i : nums)hmap[i]++;   //使用哈希表统计个数for (auto iter : hmap)pq.emplace(iter.second,iter.first);   //压入优先级队列for (int i = 0; i < k; i++)   //遍历k次找到前k个最大次数对应的值{ res.push_back(pq.top().second);pq.pop();}return res;
http://www.yayakq.cn/news/615429/

相关文章:

  • 服装设计公司的名字百度seo优化教程
  • 网站做百度收录的意义初中生怎么提升学历
  • 学做ps的软件的网站郑州便宜网站建设报价
  • 中文网站 可以做谷歌推广吗自己搭建网站要钱吗
  • 做百度推广网站被攻击唐山网站建设七彩科技
  • 合肥网站建设步骤制作商城网站
  • 网站后台树形菜单样式自由空间网站建设
  • 那个视频网站可以做gif成都网站建设备案
  • 个人备案的域名拿来做经营网站wordpress仿亿欧网
  • 专注七星彩网站开发出租wordpress安装在哪
  • 优秀设计网站视频网站开发流程
  • 如何提交网站连接到百度北京网页制作教程
  • 广东网站建设怎么收费上海外贸建站推广公司
  • 机械网站建设比较好的江门seo网站
  • .net 网站开发微信公众号怎么做文章编辑
  • app跟网站的区别上海娱乐场所关闭
  • 为什么两学一做进不去网站百度在线识图查图片
  • 公共空间设计网站开发一个资金盘app多少钱
  • 做外贸网站服务张家港做网站排名
  • 做电影网站用什么服务器比较好顺德微网站建设
  • 周村有做网站广告的吗网站建设漠环熊掌号
  • 如何自己开发一个网站济南软件公司排名
  • 网站建设 广州网站建设专业公司给公司建网站需要多少钱
  • 西宁公司网站设计广州h5网站制作公司
  • ie的常用网站成功的营销网站
  • 电子商务网站建设的体会网站备案简介怎么写
  • 张槎手机网站建设可以做h5的网站
  • 个人网站建设的计划书百度网站如何做运营
  • 如何制作网站和网页阿里云小程序开发
  • 陕西建设厅网站首页接广告的平台