首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客804207695号
University of Illinois at Urbana-Champaign Java
发布于江苏
关注
已关注
取消关注
@林小白zii:
美团笔试 美团笔试题 0323
笔试时间:2024年03月23日 历史笔试传送门:2023秋招笔试合集 第一题 题目:小美的01矩阵 小美拿到了一个n行m列的矩阵,她想知道该矩阵有多少个 2*2 的子矩形满足 1 和 0 的数量相等? 输入描述 第一行输入两个正整数n,m用空格隔开。 接下来的n行,每行输入一个长度为m的 01 串,用来表示矩阵。 2<=n,m<=100 输出描述 一个整数,代表 1 和 0 的数量相等的 2*2 的子矩形数量。 样例输入 2 3 110 010 样例输出 1 说明 两个 2*2 的子矩形,只有一个是合法的。 参考题解 模拟题。由于子矩阵固定大小是22,因此不需要前缀和,直接模拟即可。只需要保证每一个22的子矩阵的和是2即可。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>using namespace std;int main() { int n, m; cin >> n >> m; vector<vector<int> > matrix(n, vector<int>(m)); for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { char c; cin >> c; matrix[i][j] = c - '0'; } } int ans = 0; for (int i = 0; i < n - 1; ++i) { for (int j = 0; j < m - 1; ++j) { if (matrix[i][j] + matrix[i][j + 1] + matrix[i + 1][j] + matrix[i + 1][j + 1] == 2) { ans++; } } } cout << ans << endl; return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int m = scanner.nextInt(); int[][] matrix = new int[n][m]; for (int i = 0; i < n; ++i) { String line = scanner.next(); for (int j = 0; j < m; ++j) { matrix[i][j] = line.charAt(j) - '0'; } } int ans = 0; for (int i = 0; i < n - 1; ++i) { for (int j = 0; j < m - 1; ++j) { if (matrix[i][j] + matrix[i][j + 1] + matrix[i + 1][j] + matrix[i + 1][j + 1] == 2) { ans++; } } } System.out.println(ans); }} Python:[此代码未进行大量数据的测试,仅供参考] n,m = map(int, input().split())matrix = []for _ in range(n): matrix.append([int(c) for c in input()])ans = 0for i in range(n-1): for j in range(m-1): if matrix[i][j]+matrix[i][j+1]+matrix[i+1][j]+matrix[i+1][j+1] == 2: ans += 1print(ans) 第二题 题目:小美的回文子串 小美有一个长为 n的字符串s,她希望删除尽可能少的字符,使得字符串不含长度为偶数的回文子串。她想知道她最少要删除几个字符,请你帮帮她吧。 输入描述 输入包含两行。 第一行一个正整数n(1<=n<=10^5),表示字符串s 的长度。 第二行一个长为n字符串s。 输出描述 输出包含一行一个整数,表示最少删除数量。 补充说明 子串:一个字符串从头或尾删除若干个(也可以不删)得到的结果字符串。 回文:一个字符串正着读和倒着读一样,则该字符串回文。 样例输入一 5 aaabc 样例输出一 2 样例输入二 1 e 样例输出二 0 参考题解 偶数的回文子串等价于:不能有连续的字符相等。只要相邻的相等就要删除。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <string>using namespace std;int main() { int n; cin >> n; string str; cin >> str; int ans = 0; for (int i = 1; i < n; ++i) { // 不能连续相同 if (str[i] == str[i - 1]) { ans++; } } cout << ans << endl; return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); String str = scanner.next(); int ans = 0; for (int i = 1; i < n; ++i) { // 不能连续相同 if (str.charAt(i) == str.charAt(i - 1)) { ans++; } } System.out.println(ans); }} Python:[此代码未进行大量数据的测试,仅供参考] n = int(input())string = input()ans = 0for i,c in enumerate(string): # 不能连续相同 if i>0 and c==string[i-1]: ans += 1print(ans) 第三题 题目:小美的元素交换 小美拿到了一个排列,其中初始所有元素都是红色,但有一些元素被染成了白色。小美每次操作可以选择交换任意两个红色元素的位置。她希望操作尽可能少的次数使得数组变成非降序,你能帮帮她吗? 排列是指:一个长度为n的数组,其中 1 到n每个元素恰好出现了一次。 输入描述 第一行输入一个正整数n,代表数组的长度。 第二行输入n个正整数ai,代表数组的元素。 第三行输入一个长度为n的字符串,代表数组元素的染色情况。第i个字符为'R'代表第i个元素被染成红色,为'W'代表初始的白色。 1<=n<=10^5 1<=ai<=n 输出描述 如果无法完成排序,请输出 -1。否则输出一个整数,代表操作的最小次数。 样例输入 4 1 3 2 4 WRRW 样例输出 1 说明:第一次操作,交换 2 和 3,数组变成[1,2,3,4] 参考题解 哈希表。最后的结果要求是[1,2,3,....n],那么只需要保证下标为i的元素是i+1即可,使用哈希表记录每一个数字的出现位置,不断往后交换即可。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>#include <unordered_map>using namespace std;int main() { int n; cin >> n; vector<int> nums(n); vector<char> colors(n); unordered_map<int, int> dic; for (int i = 0; i < n; ++i) { cin >> nums[i]; } for (int i = 0; i < n; ++i) { cin >> colors[i]; dic[nums[i]] = i; } int ans = 0; for (int i = 0; i < n; ++i) { // i->i+1 if (nums[i] == i + 1) continue; if (colors[i] == 'R' && colors[dic[i + 1]] == 'R') { ans++; swap(nums[i], nums[dic[i + 1]]); dic[nums[i]] = dic[i + 1]; } else { ans = INT_MAX; break; } } if (ans == INT_MAX) { cout << -1 << endl; } else { cout << ans << endl; } return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] nums = new int[n]; char[] colors = new char[n]; Map<Integer, Integer> dic = new HashMap<>(); for (int i = 0; i < n; ++i) { nums[i] = scanner.nextInt(); } String colorInput = scanner.next(); // Read the whole line of colors as a String for (int i = 0; i < n; ++i) { colors[i] = colorInput.charAt(i); dic.put(nums[i], i); } int ans = 0; for (int i = 0; i < n; ++i) { // i->i+1 if (nums[i] == i + 1) continue; if (colors[i] == 'R' && colors[dic.get(i + 1)] == 'R') { ans++; int temp = nums[i]; nums[i] = nums[dic.get(i + 1)]; nums[dic.get(i + 1)] = temp; dic.put(nums[i], dic.get(i + 1)); } else { ans = Integer.MAX_VALUE; break; } } if (ans == Integer.MAX_VALUE) { System.out.println(-1); } else { System.out.println(ans); } }} Python:[此代码未进行大量数据的测试,仅供参考] from math import infn = int(input())
点赞 2
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-18 18:20
北京交通大学 前端开发其它
应届生入职一周,离职的心越来越强烈了
周一入职,在无所事事焦虑中度过了三天。第四天迎来了任务,那么问题来了,我真的一点不会,且一点也没听懂,连问都不知道怎么问,也没有培训,没有人带。自己摸索新软件,仍是云里雾里。终于体会到入职就想离职,心已死。只能祈祷下周一定要学会,不然真的不知道怎么办了
职场新人体验
点赞
评论
收藏
分享
07-21 18:21
门头沟学院 Java
滴滴提前批
三面挂,笔试没A出来,不走寻常路没背过不会,被说能力和招聘要求差距有点大,已不再爱滴滴,打车不用滴滴,只用飞猪
滴滴三面230人在聊
点赞
评论
收藏
分享
06-16 18:34
美团_到店事业群_高级切图工程师(准入职员工)
再见啦我的团
早上十点发的邮件 下午解约完成再见互联网👋👋👋
烤点老白薯:
你要是测试就好了
点赞
评论
收藏
分享
今天 11:43
已编辑
中山职业技术学院 Java
点点互动简历挂
点点互动简历挂,还是配不上游戏公司,我这一个小小的Java,未来该何去何从。
投递点点互动等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
实习包装不是吹牛皮,要怎么包装看这里
7.7W
2
...
20250716 - 百度 - 后端开发 - 一面
9740
3
...
实习,你就这么偷
7393
4
...
滴滴提前批面经
4050
5
...
刷力扣被旁边的实习生举报
3790
6
...
百度一二面凉经
3579
7
...
百度一面面经7.14
3579
8
...
河南萌新联赛2025第(二)场:河南农业大学_题解
2997
9
...
26届米哈游秋招提前批面经(游戏客户端)已挂
2498
10
...
滴滴提前批
2435
创作者周榜
更多
正在热议
更多
#
哪些公司开提前批了?
#
14267次浏览
181人参与
#
实习如何「偷」产出?
#
36291次浏览
794人参与
#
校招阶段,学历VS技术哪个更重要?
#
12757次浏览
158人参与
#
除了主业以外,你还有哪些其他收入?
#
8286次浏览
152人参与
#
你投递的公司有几家约面了?
#
107740次浏览
763人参与
#
不卡学历的大厂有哪些?
#
20150次浏览
152人参与
#
Offer比较,你最看重什么?
#
190737次浏览
1297人参与
#
风评不好的公司,你会去吗?
#
48020次浏览
355人参与
#
职场新人体验
#
17403次浏览
173人参与
#
实习打杂,要跑路吗
#
14852次浏览
189人参与
#
正在实习的碎碎念
#
1452674次浏览
13464人参与
#
腾讯音乐求职进展汇总
#
97418次浏览
566人参与
#
校园里的破防时刻
#
8244次浏览
99人参与
#
社恐入职新公司如何融入团队
#
11186次浏览
62人参与
#
实习时,大家都怎么称呼自己的mentor?
#
43345次浏览
273人参与
#
面试中,你被问过哪些奇葩问题?
#
70330次浏览
802人参与
#
摸鱼被leader发现了怎么办
#
60889次浏览
371人参与
#
软开人,秋招你打算投哪些公司呢
#
107776次浏览
978人参与
#
你的秋招第一面感觉怎么样
#
74303次浏览
574人参与
#
金融财经春招备战日记
#
22944次浏览
135人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务