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

聊城做wap网站服务郑州网站运营实力乐云seo

聊城做wap网站服务,郑州网站运营实力乐云seo,html5公司网站源码,中企动力科技股份有限公司销售链接: 503. 下一个更大元素 II 题意 循环数组,找出每个元素的往后最近且大于它的元素 解: 今天没试暴力啊,大概率是过不了的 思路就是先找到最大的数,最大数的结果肯定是-1,然后倒着遍历数组&#xf…

链接:

503. 下一个更大元素 II

题意

循环数组,找出每个元素的往后最近且大于它的元素

今天没试暴力啊,大概率是过不了的

思路就是先找到最大的数,最大数的结果肯定是-1,然后倒着遍历数组,用一个栈来从大到小的存放数字,就可以很方便的得到离自身最近的比自己大的数字,同时由于是倒着遍历,所以栈内数字一定在当前遍历的数字之后

核心思路是,从后往前遍历时,后遍历到的数字(位置靠前)的数字是可以完全替换掉先遍历到的数字(位置靠后)

实际代码:

#include<bits/stdc++.h>
using namespace std;
vector<int> nextGreaterElements(vector<int>& nums)
{int maxIndex=-1;int lg=nums.size();stack<int>tMax;vector<int>ans(lg,0);for(int i=0;i<lg;i++){if(maxIndex==-1 || nums[i]>nums[maxIndex]){maxIndex=i;}}ans[maxIndex]=-1;tMax.push(nums[maxIndex]);for(int i=1;i<lg;i++){int mao=(maxIndex-i+lg)%lg;while(tMax.size() && tMax.top()<=nums[mao]){tMax.pop();}if(tMax.size()){ans[mao]=tMax.top();}else ans[mao]=-1;tMax.push(nums[mao]);}return ans;
}
int main()
{vector<int> nums;int temp;while(cin>>temp){nums.push_back(temp);}vector<int>ans=nextGreaterElements(nums);int lg=ans.size();//cout<<"lg:"<<lg<<endl;for(int i=0;i<lg;i++){cout<<"i:"<<ans[i]<<endl;}return 0;
}

限制:

  • 1 <= nums.length <= 104
  • -109 <= nums[i] <= 109
http://www.tj-hxxt.cn/news/105184.html

相关文章:

  • 如何进行一个网站建设成都seo推广员
  • 韩国做暖暖网站必应搜索引擎网站
  • 网站备份信息seo网站优化培训价格
  • 赣州网站建设公司淘宝运营
  • 灌南网站建设深圳纯手工seo
  • 郑州网站优化渠道河南网站建设优化技术
  • 厦门做返利网站的公司怎么注册自己的网站
  • 卖东西怎么做网站如何优化标题关键词
  • 网站标签怎么做百度网盘优化
  • 做网站视频用哪个视频编辑软件在百度上怎么注册网站
  • 免费网站建设浩森宇特网站需要怎么优化比较好
  • 江西省工程建设信息官方网站上海关键词自动排名
  • 太原网页设计招聘搜索引擎排名优化是什么意思
  • php 网站开发教程seo搜索引擎优化推广
  • 哪里可以做公司网站网络营销外包
  • WordPress朗读seo推广怎么做视频教程
  • 潍坊网站建设策划方案海南seo代理加盟供应商
  • 网络营销服务管理合肥seo推广外包
  • 织梦做的网站怎么传到网上网络营销专员的就业前景
  • wordpress树洞外链主题南昌seo排名收费
  • 水磨沟网页设计免费网站seo诊断
  • 阿里云可以做网站吗电商网站开发平台有哪些
  • 做网站基本要求朝阳区seo
  • wordpress添加支付网站seo的内容是什么
  • 在网站上做送餐外卖需要哪些资质设计案例网
  • 学做网站论坛vip视频qq群推广引流免费网站
  • 网页设计兼职平台seo原创工具
  • 网站开发php支付接口推广软文是什么
  • 怎样在外贸网站做业务大数据统计网站
  • 深圳中高端网站建设怎么样上海百度分公司电话