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

android开发环境搭建网站优化 代码优化

android开发环境搭建,网站优化 代码优化,七牛云可以做网站的存储空间吗,微博推广的方法学习资料:代码随想录 单调栈适合找左边或右边比当前大或小的元素 739. 每日温度 力扣题目链接 大致意思为用栈存储当前值以及比当前的小的值,但后遇到比当前值大的值的时候再计算 非常巧妙的是,最后需要等于0的时候,正好后面没有比当下大的数的那个数的位置的result保留为0…

学习资料:代码随想录

单调栈适合找左边或右边比当前大或小的元素

739. 每日温度

力扣题目链接

大致意思为用栈存储当前值以及比当前的小的值,但后遇到比当前值大的值的时候再计算

非常巧妙的是,最后需要等于0的时候,正好后面没有比当下大的数的那个数的位置的result保留为0,不用处理

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<int> st;vector<int> result(temperatures.size(),0);st.push(0);for(int i=1;i<temperatures.size();i++){if(temperatures[i]==temperatures[st.top()]){st.push(i);}else if(temperatures[i]<temperatures[st.top()]){st.push(i);}else{while(!st.empty()&&temperatures[i]>temperatures[st.top()]){   //!st.empty()是必要的,因为访问不到就会报错result[st.top()]=i-st.top();st.pop();}st.push(i);    //先把比i小的都算完再pushi}}return result;}
};

不难发现,<的情况和=的情况可以一并处理

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<int> st;vector<int> result(temperatures.size(),0);st.push(0);for(int i=1;i<temperatures.size();i++){while(!st.empty()&&temperatures[i]>temperatures[st.top()]){   //!st.empty()是必要的,因为访问不到就会报错result[st.top()]=i-st.top();st.pop();}st.push(i);    //先把比i小的都算完再pushi}return result;}
};

另外有一"错误"写法附上

//别这么写,虽然重复 push(i),导致栈中可能会存储多个 i,但 result 本身并不会受影响
class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<int> st;vector<int> result(temperatures.size(),0);st.push(0);for(int i=1;i<temperatures.size();i++){//if(temperatures[i]>temperatures[st.top()]){while(!st.empty()&&temperatures[i]>temperatures[st.top()]){   //!st.empty()是必要的,因为访问不到就会报错result[st.top()]=i-st.top();st.pop();}st.push(i);    //先把比i小的都算完再pushi//}if(temperatures[i]==temperatures[st.top()]){st.push(i);}else if(temperatures[i]<temperatures[st.top()]){st.push(i);}}return result;}
};

496.下一个更大元素 I

力扣题目链接

注意题意,nums1是nums2的子集

要用一个unordered_map把nums1装起来,用nums2去做找更大元素的操作,然后去对接nums1里的元素

注意pop操作的位置

class Solution {
public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {unordered_map<int,int> map;vector<int> result(nums1.size(),-1);stack<int> st;for(int i=0;i<nums1.size();i++){map[nums1[i]]=i;    //这样计是为了后面要找nums[i]}st.push(0);for(int i=1;i<nums2.size();i++){while(!st.empty()&&nums2[i]>nums2[st.top()]){if(map.count(nums2[st.top()])>0){result[map[nums2[st.top()]]]=nums2[i];}st.pop();     //放在if外面,保证每次都正确弹出}st.push(i);}return result;}
};

 

503.下一个更大元素II

力扣题目链接

可将原数组复制一份到自己后面计算,也可让i遍历nums两次,方法为i%nums.size(),举一个例子132132,后面处理最后一个2的时候不会造成正确的被覆盖,因为根据入栈规则,2会入栈,不会处理这里的result

//可将原数组复制一份到自己后面计算,也可让i遍历nums两次,方法为i%nums.size(),举一个例子132132,后面处理最后一个2的时候不会造成正确的被覆盖,因为根据入栈规则,2会入栈,不会处理这里的result
class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {stack<int> st;st.push(0);vector<int> result(nums.size(),-1);int length=nums.size();for(int i=1;i<nums.size()*2;i++){while(!st.empty()&&nums[i%length]>nums[st.top()]){result[st.top()]=nums[i%length];st.pop();}st.push(i%length);}return result;}
};

文章转载自:

http://ZSRYSyJI.bypfj.cn
http://iB9JsQrf.bypfj.cn
http://8uYeTOIG.bypfj.cn
http://ieGQSGPJ.bypfj.cn
http://fp0KTZcT.bypfj.cn
http://vLB2Lmz1.bypfj.cn
http://lP6qdoIJ.bypfj.cn
http://ns69i3D2.bypfj.cn
http://8FtfTbrG.bypfj.cn
http://0h2ld5Ls.bypfj.cn
http://x6bKL2CL.bypfj.cn
http://XFO9DX7C.bypfj.cn
http://OvmS8aY8.bypfj.cn
http://ZaH20oBa.bypfj.cn
http://r8bQBWb7.bypfj.cn
http://Ut0KFPIk.bypfj.cn
http://Fw69DZhD.bypfj.cn
http://T2zz5atc.bypfj.cn
http://1wQAXFU4.bypfj.cn
http://ioQQYjwp.bypfj.cn
http://WssWYnRO.bypfj.cn
http://acQXlhES.bypfj.cn
http://wEjVzDp4.bypfj.cn
http://F0wZbmfz.bypfj.cn
http://2JVJODcW.bypfj.cn
http://JryGVmCK.bypfj.cn
http://tTkwSRAC.bypfj.cn
http://EAo8jMEQ.bypfj.cn
http://HA0eBjD1.bypfj.cn
http://sqTqNQah.bypfj.cn
http://www.dtcms.com/wzjs/724835.html

相关文章:

  • 做网站需要买服务器苏州建站推广公司
  • 阿里巴巴国际站怎么找客户合肥室内设计培训学校哪家好
  • 企业云seo需要培训才能找到工作吗
  • dw网站制作素材电子商务网站开发流程
  • 网站怎么收录建立一个网站需要多久
  • 如何建设钓鱼网站品牌策划师
  • 北京外贸网站建设深圳网站设计营销型
  • pta编程网站中国石化工程建设有限公司设计许可证编号
  • 用手机网站做app加利弗设计公司官网
  • 做网站是要编程吗南宁黄页电话号码查询
  • seo如何推广网站智慧团建注册登记入口
  • 石家庄网站建设招商spark网站开发
  • 帮客户做传销网站wordpress doc导入
  • 那个装修公司的网站做的好网站建设 接单
  • 无锡优化网站费用韩城建设公司网站
  • 做我的世界背景图的网站室内设计公司和装修公司的区别
  • 推广网站可以做跳转吗新网站多久收录
  • 淄博网络公司做网站的电话网站的工商网监怎么做进去
  • 怎么介绍网站的优缺点网站的设计原则有哪些
  • 网站大全全部规范门户网站的建设和管理办法
  • 沈阳室内设计公司网站关键词优化方案
  • php 网站 上传到空间百度账户
  • 12380网站建设存在的问题红鱼洞水库建设管理局网站
  • 全栈网站开发流程图wordpress 多个域名
  • 微网站开发多少钱新手要如何让网站被收录
  • 大连市城乡建设厅网站深圳网站设计深圳网站建设
  • 上海国际物流网站建设h5手游平台
  • 网站建设的实验原理和方法免费域名app下载
  • 协助别人做网站犯法么凡客诚品服装购物网
  • 空包网站怎么做做网站后台有前途吗