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

取名算命网站的源代码asp+access做网站时遇到的问题

取名算命网站的源代码asp+access,做网站时遇到的问题,襄阳网站建设xtehus,最近发生的热点新闻事件原理 单调栈的核心原理是#xff1a;在栈内保持元素的单调性#xff08;递增或递减#xff09; 单调递增栈#xff1a; 用于处理“下一个更小的元素”问题。当新元素比栈顶元素小或等于时#xff0c;直接入栈#xff1b;否则#xff0c;一直从栈顶弹出元素#xff0c…原理 单调栈的核心原理是在栈内保持元素的单调性递增或递减 单调递增栈 用于处理“下一个更小的元素”问题。当新元素比栈顶元素小或等于时直接入栈否则一直从栈顶弹出元素直到栈顶元素小于新元素或栈为空。 单调递减栈 用于处理“下一个更大的元素”问题。当新元素比栈顶元素大时一直从栈顶弹出元素直到栈顶元素大于新元素或栈为空然后将新元素入栈。 核心代码框架 #include vector #include stack using namespace std;vectorint nextGreaterElement(vectorint nums) {int n nums.size();vectorint res(n, -1); // 默认值为-1表示没有找到stackint stk; // 用于存储元素索引的单调栈for (int i 0; i n; i) {// 维护栈的单调递减性while (!stk.empty() nums[stk.top()] nums[i]) {int idx stk.top(); // 栈顶元素索引stk.pop();res[idx] nums[i]; // 找到了下一个更大的元素}stk.push(i); // 入栈当前元素索引}return res; } 739. 每日温度 class Solution { public:vectorint dailyTemperatures(vectorint temperatures) {int n temperatures.size();vectorint res(n,0);stackintstk;for(int i 0;in;i){// 递增while(!stk.empty() temperatures[stk.top()]temperatures[i]){int index stk.top(); // 栈顶元素stk.pop();res[index] i-index;//res[index] temperatures[i];}stk.push(i);}for(int i 0;in;i){coutres[i]endl;}return res;} };496.下一个更大元素 I 思路暴力法 直接足步循环 先找到和 nums1 对应的 nums2 数找到后在循环找更大的找到就退出 class Solution { public:vectorint nextGreaterElement(vectorint nums1, vectorint nums2) {int n nums1.size();int m nums2.size();vectorint res (n,-1); // -1代表没找到stackintstk;for(int i 0;in;i){int j 0;while(nums1[i] ! nums2[j]){j;}for(int k j1; km;k){if(nums2[k]nums1[i]){res[i] nums2[k];break;}}}return res;} };思路二单调栈 我们可以先对 nums2 进行单调栈找到他每个元素的的下一个更大的数 再根据 nums1 创建数组 class Solution { public:vectorint nextGreaterElement(vectorint nums1, vectorint nums2) {int n nums1.size();int m nums2.size();unordered_mapint, int nxetnum;vectorint res (n,-1); // -1代表没找到stackintstk;// 遍历 nums2for(int num : nums2){while(!stk.empty() stk.top()num){nxetnum[stk.top()] num;stk.pop();}stk.push(num);}// 如果没有更大元素则对应结果为 -1while(!stk.empty()){nxetnum[stk.top()] -1;stk.pop();}// 从nums1 中查找对应的for(int i 0;in;i){res[i] nxetnum[nums1[i]];}return res;} };503.下一个更大元素II 思路 因为可以循环直接将数组进行拼接这样就破解循环问题了就如同前面的每日温度问题了 class Solution { public:vectorint nextGreaterElements(vectorint nums) {int n nums.size();vectorintrealnums;// 暴力拼接for(int i 0; i2;i){for(int num:nums){realnums.push_back(num);}}vectorint res(2*n,-1);stackintstk;for(int i 0;irealnums.size();i){while(!stk.empty() realnums[stk.top()]realnums[i]){int index stk.top();stk.pop();res[index] realnums[i];}stk.push(i);}vectorintresnum;resnum.insert(resnum.end(),res.begin(),res.begin()n);return resnum;} };代码优化一下 class Solution { public:vectorint nextGreaterElements(vectorint nums) {int n nums.size();vectorintrealnums(n,-1);stackintstk;for(int i 0 ;i2*n;i){int num nums[i % n];while(!stk.empty() nums[stk.top()] num){int index stk.top();stk.pop();realnums[index] num;}if(in){stk.push(i);}}return realnums;} };
http://www.w-s-a.com/news/779863/

相关文章:

  • 简单的购物网站模板跨境建站平台
  • 网站主机多大html网站地图生成
  • 可信赖的邵阳网站建设德清做网站
  • 上传文件网站根目录wordpress博客管理
  • 网站seo优缺点网站建设公司咨
  • 网站设计需要会什么建设网站的目的以及意义
  • 怎么样推广自己的网站wordpress register_form
  • 网站公司建站凤翔网站建设
  • 网站建设协低价格的网站建设公司
  • 研发网站建设报价深圳网站建设前十名
  • 宠物发布网站模板wordpress中文免费电商模板
  • 济南做网站创意服装品牌策划公司
  • 本地电脑做视频网站 外网连接不上软件商城源码
  • 足球直播网站怎么做crm系统介绍
  • 株洲网站建设联系方式东莞凤岗网站制作
  • 小纯洁网站开发如何注册域名
  • 网上做试卷的网站如何把刚做的网站被百度抓取到
  • 滕州网站建wordpress用户中心按钮不弹出
  • 清远新闻最新消息福建seo搜索引擎优化
  • 凡客建站网微信网站怎么做的
  • 网站建设费怎么写会计科目行业网站建设公司
  • 网站里的友情链接网站建设个人简历的网页
  • 佛山自助建站软件湖南seo优化推荐
  • 免费微信微网站模板下载不了优化人员配置
  • wordpress 导航网站主题画流程图的网站
  • 皮卡剧网站怎样做排名网
  • 网站开发 兼职哪个网站是做安全教育
  • 商品展示类网站怎么用群晖nas做网站
  • 长腿蜘蛛wordpresssem优化推广
  • 中国铁路建设监理协会官方网站深圳福田区怎么样