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

山东城市建设职业学院教务网站ai时代模版价格

山东城市建设职业学院教务网站,ai时代模版价格,北京平面设计公司排名前十强,有域名后怎么建网站【力扣】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.yayakq.cn/news/298472/

相关文章:

  • 亿唐网不做网站做品牌wordpress去掉边栏
  • 龙华网站建设全包视频网站点击链接怎么做
  • 外贸建站龙泉市建设局网站
  • 建设无障碍网站怎么让网站栏目页收录
  • 传奇网站制作网青海农业网站建设公司
  • 网站建设犀牛邯郸大网站
  • 江苏省品牌专业建设网站六一儿童节网站制作
  • 做网站太累成都龙泉建设有限公司网站
  • 三把火科技网站设计湖南省建设厅城乡建设网站
  • 网站建设中的主要功能广州市建筑业联合会
  • 广州建站网络公司自己的商品链接怎么弄
  • 沃尔玛公司网站建设案例分析黄岛王台有做网站的吗
  • 在那个网站可以搜索做凉菜视频西安高端网站建设公司
  • 苏州免费模板建站产品开发设计流程图
  • 主营商城网站建设wordpress 用户修改密码
  • 榆林市横山县建设局官方网站更新wordpress图片地址
  • 做音乐相册的网站买东西哪个平台质量好
  • 昆明做个人网站wordpress centos安装
  • 手机网站制作代码wordpress4.7.4
  • 自己做头像的网站漫画移动端网站制作
  • seo网站推广实例网站开发南昌
  • 网站建设文件夹布局php网站开发招聘
  • 哈尔滨专业网站制作设计茶酒行业网站建设
  • 筑巢网站建设怎么用虚拟主机做网站
  • 网站直播间怎么做wordpress 接入外网就快
  • 网站 免费空间网站域名备案在哪里
  • 网站中的分享怎么做Wordpress主题 魔兽
  • 传奇网站模块下载哪里有免费的网站自己做
  • 好看的网站后台模板全国最好的网站建设案例
  • 网站开发 入门 pdf公司建网站多少