千家信息网

Java怎么找到数组中最大的元素

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,本篇内容主要讲解"Java怎么找到数组中最大的元素",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么找到数组中最大的元素"吧!题目: 给定两个数组
千家信息网最后更新 2024年11月19日Java怎么找到数组中最大的元素

本篇内容主要讲解"Java怎么找到数组中最大的元素",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么找到数组中最大的元素"吧!

题目: 给定两个数组nums1和nums2,nums1是nums2的一个子集。找到所有nums1中的元素对应nums2位置的下一个更大的元素。如果有这个更大的元素,返回这个元素,如果没有返回-1。

思路:

1.挑出nums2中后一个元素比前一个元素大的一对元素写入关联容器unordered_map中,进行记录;

2.查看nums1中的元素是否存在于unordered_map中,如果有,取出这个值,如果没有返回-1。

Language : cpp

class Solution {public:vector nextGreaterElement(vector& findNums, vector& nums) {stack s;unordered_map m;//遍历nums中的元素for (auto e : nums){//堆栈s为空并且堆栈s的栈顶的元素小于e元素,将元素写入map中,key值为栈顶元素,value值为比栈顶元素大的元素while(!s.empty() && s.top() < e){                m[s.top()] = e;                s.pop();            }            s.push(e);        }vector ans;//查找findNums中元素,如果m中存在n,返回m[n]的valuse值,如果不存在返回-1for (auto n : findNums){            ans.push_back(m.count(n) ? m[n] : -1);        }return ans;    }};

到此,相信大家对"Java怎么找到数组中最大的元素"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0