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

什么都不懂做网站推广方案怎么写模板

什么都不懂做网站,推广方案怎么写模板,怎么查网站做404页面没,wordpress smtp慢①、每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 事例&#x…

①、每日温度

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

事例:

输入: temperatures = [73,74,75,71,69,72,76,73]
输出: [1,1,4,2,1,1,0,0]

思路:

        创建一个栈,遍历数组temperatures,保持栈是单调的(递增);此时栈顶元素就是未处理的元素中最冷的一天,若遇到高温 > 栈顶元素,则处理栈顶元素,res[stack.peek()] = i - stack.peek(),这样遍历完整个数组,就得到答案。

        单调栈就是保存了未处理的结点(还没遇到更高气温),方便后续赋值。

代码:

public int[] dailyTemperatures(int[] temperatures) {Stack<Integer> stack = new Stack<>();int[] res = new int[temperatures.length];stack.push(0);for(int i = 1;i < temperatures.length;i++){if(temperatures[i] <= temperatures[stack.peek()]){stack.push(i);}else{while(!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]){res[stack.peek()] = i - stack.peek();stack.pop();}stack.push(i);}}return res;}

②、下一个更大元素

nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。

给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。

对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素 。如果不存在下一个更大元素,那么本次查询的答案是 -1 。

返回一个长度为 nums1.length 的数组 ans 作为答案,满足 ans[i] 是如上所述的 下一个更大元素 。

事例:

输入:nums1 = [4,1,2], nums2 = [1,3,4,2].
输出:[-1,3,-1]
解释:nums1 中每个值的下一个更大元素如下所述:
- 4 ,用加粗斜体标识,nums2 = [1,3,4,2]。不存在下一个更大元素,所以答案是 -1 。
- 1 ,用加粗斜体标识,nums2 = [1,3,4,2]。下一个更大元素是 3 。
- 2 ,用加粗斜体标识,nums2 = [1,3,4,2]。不存在下一个更大元素,所以答案是 -1 。

思路:

        与上题类似,使用单调栈,但在赋值的时候出现差异,nums1与nums2在顺序上不是一一对应,此时需要map映射,等到处理单调栈的时候,赋nums1中相应的下标即可。

代码:

public int[] nextGreaterElement(int[] nums1, int[] nums2) {Stack<Integer> stack = new Stack<>();int[] res = new int[nums1.length];Arrays.fill(res,-1);stack.push(0);Map<Integer,Integer> map = new HashMap<>();for(int i = 0;i < nums1.length;i++){map.put(nums1[i],i);}for(int i = 1;i < nums2.length;i++){if(nums2[i] <= nums2[stack.peek()]){stack.push(i);}else{while(!stack.isEmpty() && nums2[i] > nums2[stack.peek()]){if(map.containsKey(nums2[stack.peek()])){int index = map.get(nums2[stack.peek()]);res[index] = nums2[i];}stack.pop();}stack.push(i);}}return res;}

参考:代码随想录 (programmercarl.com)

http://www.mfbz.cn/news/480/

相关文章:

  • 长沙自动化网站建设站长素材
  • 如何做网站帮别人赚钱潍坊快速网站排名
  • 个人做淘宝客网站有哪些百度广告官网
  • 番禺做网站的google下载官方版
  • 外贸自主建站平台网络营销的现状和发展趋势
  • 互联网app网站建设方案模板下载百度ai开放平台
  • 影响网站排名的因素站内关键词排名软件
  • 手机网站开发开发网络营销团队
  • 多种大连网站建设免费网站推广
  • 体检中心网站建设方案哪里可以买链接网站
  • 东营做网站哪家好成都百度百科
  • 网站建设mingxinsh百度下载软件
  • 小学网站模板免费下载武汉seo搜索引擎优化
  • 做壁纸壁的网站有什么区别长春网站优化
  • 西宁网站建设优化案例网址查询地址查询
  • 建设一个公司网站需要什么知识网络推广要求
  • 六安哪家公司做网站好软文文案范文
  • 博白县建设局网站做优化的网站
  • 网站建设 提供源码100个免费推广b站
  • 网站的建设合同是否交印花税建站模板免费下载
  • 阿里云创建网站百度用户服务中心
  • 成都哪家做网站公司好品牌企业seo咨询
  • 这是我自己做的网站百度霸屏推广
  • 哪里可以做虚拟货币网站四川省人民*官网
  • 创办一个网站的流程推广互联网营销
  • 专业的高端企业网站希爱力吃一颗能干多久
  • 专注东莞微信网站设计百度小说排行榜前十名
  • 网站服务器如何做端口映射seo优化排名经验
  • 私人服装定制网站河源新闻最新消息
  • 提供网站制作公司seo推广培训中心