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

长沙市做网站的网站网页设计的交流网站

长沙市做网站的网站,网页设计的交流网站,大连工业,沈阳医大男科怎么样题目描述: 题目链接:LeetCode-496-下一个更大元素 解题思路: 方法一:暴力 方法二:单调栈 方法一代码实现: class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {// 最笨的方法&am…

题目描述:

image.png

题目链接:LeetCode-496-下一个更大元素

解题思路:
方法一:暴力
方法二:单调栈

方法一代码实现:

class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {// 最笨的方法:暴力int len1= nums1.length;int len2= nums2.length;int[] res=new int[len1];Arrays.fill(res,-1);for (int i = 0; i < len1; i++) {for (int j = 0; j < len2; j++) {if (nums1[i]==nums2[j]){for (int k = j; k <len2 ; k++) {if (nums2[k]>nums2[j]){res[i]=nums2[k];break;// 找到之后一定要 break,不然会一直往后找,每次都是最后一个}}}}}return res;}

方法二代码实现:

  1. 先将nums1中的元素和下标都映射到map中,方便遍历nums2的时候查找
  2. 开始遍历nums2,存放的是下标,初始时将0放到stack中,开始判断栈口元素和当前元素的大小
    • 若 栈口元素 < 当前元素的大小,再判断栈是否为空,并且map中是否包含栈顶元素下标对应的索引,都有的话再更新res数组;
    • 若 栈口元素 = 当前元素的大小,直接入栈
    • 若 栈口元素 > 当前元素的大小,直接入栈
class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {int len1 = nums1.length;int len2= nums2.length;int[] res = new int[len1];// 初始化为-1Arrays.fill(res, -1);// 新学的方式,直接使用工具类,底层原理和自己写的效果是一样的Map<Integer, Integer> map = new HashMap<>();// 将nums1放到map中,目的是根据元素的数值可以找到其对应的下标for (int i = 0; i < len1; i++) {map.put(nums1[i], i);// <4,0>  <1,1>  <2,2>}Stack<Integer> stack = new Stack<>();// 单调栈遍历的是nums2stack.push(0);// 把nums2下标存进去for (int i = 1; i < nums2.length; i++) {// 如果 栈口元素 < 当前遍历元素: 收获结果,栈口元素出栈,再比较当前 栈口元素和 当前遍历元素的结果// 如果 栈口元素 = 当前遍历元素: 直接入栈// 如果 栈口元素 > 当前遍历元素: 直接入栈if (nums2[i] <= nums2[stack.peek()]) {// 保证是单调递增的栈stack.push(i);} else {// 持续判断的过程:先判断是否在map中while (!stack.isEmpty() && nums2[stack.peek()] < nums2[i]) {if (map.containsKey(nums2[stack.peek()])) {Integer index = map.get(nums2[stack.peek()]);res[index] = nums2[i];}stack.pop();// 弹出栈顶元素}stack.add(i);// 都不满足就入栈}}return res;}
}
http://www.yayakq.cn/news/77577/

相关文章:

  • wordpress get_attached_media深圳网络推广优化
  • 邢台做网站名列前茅在网站后台备案号怎么改
  • 网站建设运行情况个人网站源码模板
  • 编程网站网址多语言网站 推广
  • 网站打不开怎么办公司网站维护一般需要做什么
  • 游戏推荐网站怎么做制作软件app有哪些
  • 长春网站制作价格dw代码做网站
  • 网站建设利润 有多少网站布局模版
  • 北京南站核酸检测地点慈溪建设局网站
  • 江苏建设部官方网站网站开发的prd 怎么写
  • 深圳网站建设优化服务dwcc怎么做网站
  • 永久免费的自助建站有没有跟一起做网店一样的网站
  • 做二手货车都做什么网站网站翻新后seo怎么做
  • 山东省建设银行网站如何做搞笑原创视频网站
  • 阿里巴巴网站建设过程网站怎做
  • 建手机网站多少钱wordpress+商会+模版
  • 工程承包公司苏州网站优化哪家好
  • 网站开发与设计总结北京建设网办事大厅
  • 东莞的网站建设公司哪家好厦门工程建设招聘信息网站
  • 鲅鱼圈企业网站建设wordpress跳转自适应
  • 低价格制作网站16岁0元开网店赚钱软件
  • 做网站head.htm自己做免费网站难吗
  • 衡水php网站建设什么行业适合做网站推广
  • 普工找工作哪个网站好电商公司建设网站
  • 网站左侧导航代码小程序游戏免广告神器
  • 高端平面设计作品网站wordpress下载破解
  • 做旅游攻略的网站wordpress如何删除已安装主题
  • 什么叫做营销型网站wordpress 头像不见
  • 余姚网站公司网站首页的尺寸做多大
  • 模板做图 网站有哪些内容建设家具网站的目的及功能定位