首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
spike2018
中国科学技术大学 计算机类
发布于北京
关注
已关注
取消关注
@林小白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
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
鶸_
05-16 13:26
大连理工大学 计算机类
暑假实习短暂总结
鼠鼠 双非本末9硕,2A(一中一投,学生一作/一作)。从3月底开始找实习,之前准备读博所以 leetcode 根本没怎么刷。简历也不够垂直,刚开始一段时间根本没有约面。在经过字节、腾讯等面试拷打之后,开始学会优化简历和面试表述方式。总之,经过一顿挨揍,拿到的 offer 有:美团(大模型),小红书(图搜),蚂蚁(智能标注),联想(SSG 算法),地平线(多模态大模型预训练),平安科技(科研型)。剩下还有滴滴刚约面和华为待开奖。。。最难绷的是签完团子的后一天小红书和蚂蚁给oc了。。不想毁约了,鼠鼠就准备去团子了。。 回顾整个找实习的面试过程,鼠鼠好像就没做出来几道 leetcode 题 [...
投递蚂蚁集团等公司10个岗位 >
点赞
评论
收藏
转发
犬粟
05-16 23:21
已编辑
华中科技大学 计算机类
5.14 腾讯后台二面结果是hr面
继一面二十分钟速通第二天进复试后,又遇到这种不可思议的事,不知道为什么,有没有懂哥解释下 现在还是复试链接状态,已经是最后的稻草了 5.16流程已结束👋🏻
点赞
评论
收藏
转发
23届在线找前端
04-26 10:48
前端工程师
感觉一眼假啊
点赞
评论
收藏
转发
可否毕业前给个offer
04-24 14:41
广州软件学院 计算机类
双非二本,谁懂,马上毕业了,看不到一点希望。。。。
点赞
评论
收藏
转发
RaineW
05-15 11:49
浙江大学 计算机类
研0暑假找Java后端日常实习,求佬们拷打简历
如标题,谢谢各位佬!
最后再改一次简历
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
瑞幸java校招二面(史诗级80min)
1.0W
2
...
5.16校招&实习招聘信息汇总
8585
3
...
送花给牛友,不做“白嫖党”!牛客互动新功能上线啦!
7261
4
...
腾讯一面凉经 5.16
5938
5
...
阿里oc
5797
6
...
给25届同学: 永远相信美好的事情即将发生
5512
7
...
CS硕 只看40w+且965 能投啥
5367
8
...
二本漫漫求职路......
3748
9
...
为什么选择做测试开发
3501
10
...
虎哥の致谢
3307
正在热议
#
牛客帮帮团来啦!有问必答
#
750158次浏览
11959人参与
#
你的工作大概什么时候入职?
#
2702次浏览
35人参与
#
海康威视求职进展汇总
#
94525次浏览
1140人参与
#
百度工作体验
#
23874次浏览
246人参与
#
今年形式下双非本找得到工作吗
#
7523次浏览
159人参与
#
2022届毕业生现状
#
320782次浏览
4442人参与
#
你的秋招进行到哪一步了
#
359248次浏览
6317人参与
#
产品实习,你更倾向大公司or小公司
#
37464次浏览
579人参与
#
非技术岗是怎么找实习的
#
75837次浏览
1415人参与
#
比亚迪求职进展汇总
#
167026次浏览
1239人参与
#
你觉得比亚迪今年还有春招吗?
#
46253次浏览
333人参与
#
学历对求职的影响
#
133663次浏览
1522人参与
#
面试等了一周没回复,还有戏吗
#
41171次浏览
502人参与
#
浅聊一下我实习的辛苦费
#
82568次浏览
769人参与
#
国企和大厂硬件兄弟怎么选?
#
45243次浏览
851人参与
#
0offer是寒冬太冷还是我太菜
#
417618次浏览
4840人参与
#
铜五铁六真的存在吗?
#
29080次浏览
302人参与
#
考研失败就一定是坏事吗?
#
20557次浏览
216人参与
#
通信硬件人笔面经互助
#
115307次浏览
2293人参与
#
荣耀求职进展汇总
#
66569次浏览
670人参与
牛客网
牛客企业服务