温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-18 15:54:26 来源:亿速云 阅读:276 作者:iii 栏目:大数据

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

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

思路:

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

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

Language : cpp

class Solution {public:vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) {stack<int> s;unordered_map<int, int> 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<int> ans;//查找findNums中元素,如果m中存在n,返回m[n]的valuse值,如果不存在返回-1for (auto n : findNums){
            ans.push_back(m.count(n) ? m[n] : -1);
        }return ans;
    }
};

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI