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

接订单去哪个网站中国搜索引擎排行榜

接订单去哪个网站,中国搜索引擎排行榜,网站后台管理图片,临沂做商城网站建设【力扣】496. 下一个更大元素 I nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。给你两个没有重复元素的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。   对于每个 0 < i <…

【力扣】496. 下一个更大元素 I

  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] 是如上所述的 下一个更大元素 。

示例 1:
输入: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 。

示例 2:
输入:nums1 = [2,4], nums2 = [1,2,3,4].
输出:[3,-1]
解释:nums1 中每个值的下一个更大元素如下所述:

  • 2 ,用加粗斜体标识,nums2 = [1,2,3,4]。下一个更大元素是 3 。
  • 4 ,用加粗斜体标识,nums2 = [1,2,3,4]。不存在下一个更大元素,所以答案是 -1 。

提示:
1 <= nums1.length <= nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1 0 4 10^4 104
nums1和nums2中所有整数 互不相同
nums1 中的所有整数同样出现在 nums2 中

题解

单调栈+哈希

import java.util.*;public class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {//单调栈Stack<Integer> stack = new Stack<>();//存放结果最终结果,大小和nums1一样int[] result = new int[nums1.length];Arrays.fill(result, -1);//求nums1和nums2的映射关系HashMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < nums1.length; i++) {// key为数值,value为下标map.put(nums1[i], i);}//先放第一个元素的下标进单调栈stack.add(0);//单调栈遍历数组nums2for (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()])) {Integer index = map.get(nums2[stack.peek()]);result[index] = nums2[i];}stack.pop();}stack.push(i);}}return result;}
}

在这里插入图片描述
暴力:

public class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {int[] result = new int[nums1.length];//遍历nums1的元素,逐个去nums2找for (int i = 0; i < nums1.length; ++i) {//先找到相等的位置int j = 0;while (j < nums2.length && nums2[j] != nums1[i]) {j++;}//继续找右边第一个比它大的int k = j + 1;while (k < nums2.length && nums2[k] < nums2[j]) {k++;}//k < nums2.length说明找到了右边比它大的result[i] = (k < nums2.length) ? nums2[k] : -1;}return result;}
}
http://www.tj-hxxt.cn/news/79797.html

相关文章:

  • 网站分级怎么做营销型网站建设的价格
  • 设计师喜欢的购物网站指数型基金
  • 做网站表格单边框标记千万不要学网络营销
  • 利用access数据库做网站深圳网络营销策划公司
  • python做简单的网站视频剪辑培训班学费一般多少
  • 网站建设西安手机网址大全123客户端下载
  • 价格低性价比高的手机seo 的作用和意义
  • 公司网站建设阿里云上海最大的seo公司
  • 网站设计毕业设计论文新产品如何快速推广市场
  • 姚家园做网站百度网页翻译
  • 建站abc平台全网关键词搜索工具
  • 苏州绿叶网站建设发布外链
  • 做爰网站网络营销模式包括哪些
  • 网站放到iis如何做指向seo服务
  • 深圳企业网站建设标准优化关键词排名软件
  • 青岛专业做网站优化关键词搜索神器
  • 准备网站的工作济南seo优化公司助力排名
  • 爱用建站 小程序品牌如何做推广
  • 小程序源码怎么用镇江优化推广
  • 临清网站制作公司台州百度关键词排名
  • 做网站建百度助手app免费下载
  • 课程设计代做网站php网络营销案例题
  • 做情书直接点网站今日新闻快讯10条
  • 十一冶建设集团有限责任公司网站网址大全浏览器
  • 风景名胜区建设部网站网站建设及网络推广
  • 网站图怎么做会高清图片兰州做网站的公司
  • 网站建设全包最全的百度网盘搜索引擎
  • 国内外画画做的好网站口碑推广
  • 做网站哪里便宜搜狗seo软件
  • 学习网站开发体会与感想需要推广的app在哪里找