首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
普通人jch
中国科学院计算技术研究所 计算机类
发布于北京
关注
已关注
取消关注
@林小白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
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
不想上网课的牛牛在理财
昨天 14:35
四川轻化工大学 工商管理类
还能找到工作吗?
点赞
评论
收藏
转发
小毛毛不吃辣
昨天 11:54
哈尔滨学院 计算机类
各位大佬,求简历指导
双非二本,软件工程专业大三,简历被说项目没有含金量,但我大三能接触的项目好像都没啥含金量,项目职责没有和专业技能联系起来,架构思考太少,人已经被拷打了,求如何修改,优化
点赞
评论
收藏
转发
coucoumomo
04-20 10:49
已编辑
太原理工大学 电子信息类
小小B站,轻松拿下
#哔哩哔哩# 标题党一下 其实一点也不轻松呜呜呜鼠鼠暑期实习的第一个offer前面面了腾讯美团全挂了谢谢小破站!希望大家早日找到心仪的工作~
点赞
评论
收藏
转发
已变成回忆
04-06 23:42
阿里巴巴_钉钉_开发工程师
最破防的一集
点赞
评论
收藏
转发
正在卷的咸鱼很喜欢后撤步
05-17 10:25
万得信息_web后端开发工程师(准入职员工)
万得暑期实习内推
看见很多自己内推的牛友没进面很难受,瞅了一圈简历,给大家几个简历小tip, 1.自我评价,重点强调为什么自己能胜任xx工作(尤其是非技术类) 2.工作经历公式 【star法则】 实习部分做的和岗位JD越贴合越好 3.校园经历,只挑跟应聘岗位相关的写,展现自己职业规划清晰万得Wind25届暑期实习生招聘(❗️24/25/26届可投)【关于我们】万得是中国大陆领先的金融数据、信息和软件服务企业,总部位于上海陆家嘴金融中心【招聘岗位】产品/运营/数分/测试/算法/开发/职能(HR)/设计/管培生【面向对象】2024年6月-2026年6月的应届毕业生【工作地点】上海、南京、苏州、深圳、扬州【投递链...
投递万得信息等公司6个岗位 >
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
25届秋招迫在眉睫但也不用太🍌🟢
6277
2
...
听劝,改简历不能改命,但能增加机会
5629
3
...
突然发现自己根本不喜欢互联网
4982
4
...
快手国际化 java一面 25届暑期
4963
5
...
58同城面经
3508
6
...
周一就入职了,go语言一点没学
3505
7
...
腾讯面王,挑战最多面试次数!十五面,六个事业群全涉及
3174
8
...
腾讯音乐offer啦,面经回馈一下大伙
3155
9
...
暑期实习0 offer
2851
10
...
计算机专业的爽了,彻底爽了
2839
正在热议
#
牛客帮帮团来啦!有问必答
#
891638次浏览
14028人参与
#
机械制造薪资爆料
#
328132次浏览
3822人参与
#
大家都开始春招面试了吗
#
271214次浏览
3976人参与
#
晒一晒我的offer
#
3543459次浏览
55965人参与
#
金三银四,你有感觉到吗
#
337399次浏览
4299人参与
#
腾讯工作体验
#
138376次浏览
1361人参与
#
25届如何提前做秋招准备?
#
7731次浏览
232人参与
#
我发现了面试通关密码
#
359561次浏览
6761人参与
#
投了多少份简历才上岸
#
62503次浏览
998人参与
#
实习与准备秋招该如何平衡
#
184163次浏览
3269人参与
#
如何缓解入职前的焦虑
#
39159次浏览
399人参与
#
面试题刺客退退退
#
47523次浏览
873人参与
#
如果可以选,你最想从事什么工作
#
190674次浏览
3128人参与
#
24届软开秋招面试经验大赏
#
1076052次浏览
17089人参与
#
校招入职后的感受
#
57607次浏览
1062人参与
#
在国企工作的人,躺平了吗?
#
101298次浏览
1289人参与
#
0offer是寒冬太冷还是我太菜
#
435805次浏览
4994人参与
#
荣耀求职进展汇总
#
76439次浏览
779人参与
#
我在牛爱网找对象
#
51860次浏览
343人参与
#
机械人,你的秋招第一份简历被谁挂了
#
34476次浏览
581人参与
牛客网
牛客企业服务