首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-30 13:46
西南石油大学 嵌入式硬件工程师
你会python吗
看到别人发的,哈哈哈存在=听说过 听说过=用过 用过=精通
真烦好烦真烦:
可以的,我听说过python到家
点赞
评论
收藏
分享
04-25 19:37
北京理工大学 C++
QuantFabric量化交易系统重大升级
量化IT技术
点赞
评论
收藏
分享
03-24 16:59
湖南人文科技学院 后端
26届学院本
这个简历可以在暑假找到日常实习吗?
wuwuwuoow:
Redisson 写错了,记得 Redis 儿子以后都不会写错。其他没啥问题,海投就行。
点赞
评论
收藏
分享
04-30 14:57
已编辑
字节跳动_后端开发工程师(准入职员工)
字节风控后端Timeline
万万没想到系列,本来最不抱希望的反而一周速通了。分享个Timeline,后续再补充面经。4.14 一面4.16 二面4.17 三面4.21 hr面21 号当晚oc24号带薪offer邮件开得挺满意的,接了,春招结束,不等腾讯和理想了(理想的池子都要泡发了)再见了团子,感谢秋招收留,以后点外卖只用你
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.3W
2
...
左手敲代码的程序员,不配拥有offer吗?
6.3W
3
...
五一假期,弯道超车时间表
1.1W
4
...
后端简历上最值得写的项目
1.0W
5
...
北京到底有谁在啊?
9044
6
...
五一别写你那破开源代码了
7627
7
...
五一准备刷完这些面试八股题!!
7452
8
...
和ai聊天,忍不住爆哭
6388
9
...
拼多多服务端信息确认
5932
10
...
快手投诉后续- HR把我拉黑了!
5689
创作者周榜
更多
正在热议
更多
#
找工作,行业重要还是岗位重要?
#
7895次浏览
103人参与
#
五一之后,实习真的很难找吗?
#
46025次浏览
330人参与
#
盲审过后你想做什么?
#
12726次浏览
113人参与
#
领导秒批的请假话术
#
10002次浏览
74人参与
#
外包能不能当跳板?
#
22204次浏览
191人参与
#
设计人如何选offer
#
98440次浏览
690人参与
#
五一假期,你打算“躺”还是“卷”?
#
31065次浏览
436人参与
#
考研可以缓解求职焦虑吗
#
21232次浏览
251人参与
#
面试等了一周没回复,还有戏吗
#
115684次浏览
1075人参与
#
大疆的机械笔试比去年难吗
#
69657次浏览
603人参与
#
如果有时光机,你最想去到哪个年纪?
#
43348次浏览
769人参与
#
找工作前vs找工作后的心路变化
#
7206次浏览
64人参与
#
写简历别走弯路
#
714589次浏览
7850人参与
#
应届生薪资多少才合理?
#
3119次浏览
24人参与
#
你喜欢工作还是上学
#
37706次浏览
413人参与
#
硬件人,你被哪些公司给挂了
#
46754次浏览
723人参与
#
每人推荐一个小而美的高薪公司
#
72852次浏览
1357人参与
#
如果不工作真的会快乐吗
#
101273次浏览
867人参与
#
牛友们的论文几号送审
#
27279次浏览
623人参与
#
许愿池
#
271890次浏览
2849人参与
牛客网
牛客企业服务