首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
spike2018
中国科学技术大学 Java
发布于北京
关注
已关注
取消关注
@林小白zii:
2023 蚂蚁笔试题 0905
笔试时间:2023年9月5日 秋招 第一题 题目:小红判断相等 小红现在有一个长度为n的字符串s和长度为n的数组 a,如果满足对于ai = aj,都有si = sj,并对于ai != aj,都有si != sj,则字符串和数组相等,请你告诉小红她的字符串和数组是否相等。 输入描述 一行一个整数t,表示有t组数据,对于每组数据:一行一个整数n,表示字符串和数组的长度;一行一个数组a,表示小红的数组;一行一个字符串s,表示小红的字符串,字符串只包含小写字母。 1<= t <= 100 1 <= n <= 1000 1 <= ai <= 50 输出描述 如果字符串和数组相等,输出”YES”,否则输出“NO"。 样例输入 2 3 1 2 2 acc 4 1 2 3 4 abcc 样例输出 YES NO 参考题解 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>#include <unordered_map>#include <unordered_set>bool check(const std::vector<int>& u, const std::vector<int>& v) { std::unordered_map<int, std::vector<int>> g; for (int i = 0; i < v.size(); ++i) { g[v[i]].push_back(i); } for (const auto& entry : g) { std::unordered_set<int> st; for (int x : entry.second) { st.insert(u[x]); } if (st.size() > 1) { return false; } } return true;}int main() { int T; std::cin >> T; for (int t = 0; t < T; ++t) { int n; std::cin >> n; std::vector<int> a(n); for (int i = 0; i < n; ++i) { std::cin >> a[i]; } std::string s; std::cin >> s; if (check(std::vector<int>(s.begin(), s.end()), a) && check(a, std::vector<int>(s.begin(), s.end()))) { std::cout << "YES" << std::endl; } else { std::cout << "NO" << std::endl; } } return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.*;public class Main { public static boolean check(List<Integer> u, List<Integer> v) { Map<Integer, List<Integer>> g = new HashMap<>(); for (int i = 0; i < v.size(); i++) { int x = v.get(i); if (!g.containsKey(x)) { g.put(x, new ArrayList<>()); } g.get(x).add(i); } for (List<Integer> vertices : g.values()) { Set<Integer> st = new HashSet<>(); for (int x : vertices) { st.add(u.get(x)); } if (st.size() > 1) { return false; } } return true; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int T = scanner.nextInt(); scanner.nextLine(); // Consume newline for (int t = 0; t < T; t++) { scanner.nextLine(); // Consume input line String[] aInput = scanner.nextLine().split(" "); List<Integer> a = new ArrayList<>(); for (String num : aInput) { a.add(Integer.parseInt(num)); } String s = scanner.nextLine(); List<Integer> sList = new ArrayList<>();
点赞 0
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 16:08
门头沟学院 运营
回家吧孩子现在周末也能上班了
点赞
评论
收藏
分享
07-31 17:30
中南大学 Java
最强本科✌
带带杨巅峰:
清华本也是985本
什么样的背景能拿SSP?
点赞
评论
收藏
分享
07-24 13:05
已编辑
西南大学 Java
鼠鼠终于有着落了
历经三个多月的找实习,鼠鼠终于有着落了
真的很糟糕:
接好运
牛客创作赏金赛
点赞
评论
收藏
分享
07-28 16:37
门头沟学院 Java
腾讯一面已挂
哎,继续加油吧
ResourceUt...:
能接到面试就已经是✌🏻了
腾讯一面2195人在聊
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
都是 dirty work,为什么别人的简历上就能言之有物🤔
2.1W
2
...
虾皮后端一面(已挂)
4122
3
...
虾皮秋招一面
3978
4
...
百度提前批,三面被推迟一周,喜提秋招第一凉
3701
5
...
7.30滴滴提前批一面凉经
3197
6
...
百度提前批 三面
3182
7
...
干活最少的实习生因为长得漂亮转正了
3096
8
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3056
9
...
QQ提前批一面凉经
2588
10
...
7.30百度提前批一面
2376
创作者周榜
更多
正在热议
更多
#
你遇到最难的面试题目是_
#
15131次浏览
193人参与
#
反问环节如何提问
#
95520次浏览
1951人参与
#
中兴秋招
#
203747次浏览
2280人参与
#
简历上的经历如何包装
#
24424次浏览
728人参与
#
如何看待offer收割机的行为
#
815527次浏览
6088人参与
#
你最讨厌面试问你什么?
#
25119次浏览
282人参与
#
秋招最大的收获是什么?
#
38619次浏览
323人参与
#
我的实习收获
#
90891次浏览
1038人参与
#
26届的你,投了哪些公司?
#
37143次浏览
428人参与
#
滴滴求职进展汇总
#
233348次浏览
2116人参与
#
作业帮求职进展汇总
#
57015次浏览
376人参与
#
初创公司值得加入吗?
#
27325次浏览
194人参与
#
我对___祛魅了
#
43486次浏览
410人参与
#
数字马力求职进展汇总
#
184455次浏览
1500人参与
#
你跟室友的关系怎么样?
#
6094次浏览
94人参与
#
什么样的背景能拿SSP?
#
31523次浏览
202人参与
#
工作中哪个瞬间让你想离职
#
60698次浏览
545人参与
#
和同事相处最忌讳的是__
#
21208次浏览
217人参与
#
去年你投递实习了吗?
#
22889次浏览
331人参与
#
如何快速融入团队?
#
14919次浏览
182人参与
#
机械人的金三校招总结
#
36232次浏览
461人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务