首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客168320643号
东南大学 Java
发布于江苏
关注
已关注
取消关注
@林小白zii:
小米笔试 小米笔试题 0312
笔试时间:2024年03月12日 历史笔试传送门:2023秋招笔试合集 第一题 题目:偏爱的字符 小李天生偏爱一些字符,对于一个字符串,他总是想把字符串中的字符变成他偏爱的那些字符。如果字符串中某个字符不是他所偏爱的字符,称为非偏爱字符,那么他会将该非偏爱字符替换为字符串中距离该字符最近的一个偏爱的字符。这里的距离定义即为字符在字符串中的对应下标之差的绝对值。如果有不止一个偏爱的字符距离非偏爱字符最近,那么小李会选择最左边的那个偏爱字符来替换该非偏爱字符,这样就保证了替换后的字符串是唯一的。小李的所有替换操作是同时进行的。假定小李有m个偏爱的字符,依次为c1,c2...cm,当小李看到一个长度为n的字符串s时,请你输出小李在进行全部替换操作后形成的字符串。 输入描述 第一行输入两个正整数n,m。 接下来一行输入m个字符c1,c2...cm,每两个字符之间用空格隔开,表示小李偏爱的字符。 接下来一行输入一个字符串s。 1≤n≤100000,1≤m≤26,保证题目中所有的字符均为大写字符,小李偏爱的字符互不相同,且偏爱字符至少出现一次。 输出描述 输出一行字符串,表示小李将给定的字符串s替换后形成的字符串。 样例输入 12 4 Z G B A ZQWEGRTBYAAI 样例输出 ZZZGGGBBBAAA 说明:字符Q为非偏爱字符,且偏爱字符Z距离它最近,所以替换成Z;同理E距离G最近,替换成G;对于字符W,偏爱字符Z和G与其距离相同,所以替换为左边的Z;.......对于字符 I ,右边没有偏爱字符,左边第一个偏爱字符是A,所以替换成字符A。同一个偏爱字符可能会在字符串中出现多次。 参考题解 将偏爱字符的下表存储在数组中,对需要转化的字符,二分搜索最近的即可。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>#include <set>#include <algorithm>using namespace std;int main() { int n, m; cin >> n >> m; vector<char> favorite_chars(m); for (int i = 0; i < m; ++i) { cin >> favorite_chars[i]; } set<char> favorites_set(favorite_chars.begin(), favorite_chars.end()); string text; cin >> text; vector<int> favorite_indexes; for (int i = 0; i < text.size(); ++i) { if (favorites_set.find(text[i]) != favorites_set.end()) { favorite_indexes.push_back(i); } } for (int i = 0; i < text.size(); ++i) { if (favorites_set.find(text[i]) == favorites_set.end()) { int left_idx = distance(favorite_indexes.begin(), lower_bound(favorite_indexes.begin(), favorite_indexes.end(), i)) - 1; int right_idx = distance(favorite_indexes.begin(), upper_bound(favorite_indexes.begin(), favorite_indexes.end(), i)); int left_distance = (left_idx >= 0) ? i - favorite_indexes[left_idx] : INT_MAX; int right_distance = (right_idx < favorite_indexes.size()) ? favorite_indexes[right_idx] - i : INT_MAX; int closer_index = (left_distance <= right_distance) ? favorite_indexes[left_idx] : favorite_indexes[right_idx]; text[i] = text[closer_index]; } } cout << text << endl; return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.*;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int m = scanner.nextInt(); List<Character> favoriteChars = new ArrayList<>(); for (int i = 0; i < m; i++) { favoriteChars.add(scanner.next().charAt(0)); } Set<Character> favoritesSet = new HashSet<>(favoriteChars); String text = scanner.next(); List<Integer> favoriteIndexes = new ArrayList<>(); for (int i = 0; i < text.length(); i++) { if (favoritesSet.contains(text.charAt(i))) { favoriteIndexes.add(i); } } char[] textArray = text.toCharArray(); for (int i = 0; i < textArray.length; i++) { if (!favoritesSet.contains(textArray[i])) { int leftIdx = Collections.binarySearch(favoriteIndexes, i); leftIdx = (leftIdx >= 0) ? leftIdx - 1 : -leftIdx - 2; int rightIdx = Collections.binarySearch(favoriteIndexes, i); rightIdx = (rightIdx >= 0) ? rightIdx + 1 : -rightIdx - 1;
点赞 6
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
08-08 10:10
北京航空航天大学 大数据开发工程师
原来提前批的提前是这样......
点赞
评论
收藏
分享
08-10 17:16
合合信息_运营管理_HR
合合信息秋招——小而美厂
不知道现在大家找工作都看啥,头部大企业确实可以给更大的平台和保底空间,至少辞职了也有title,但是也可以看看发展中的小厂,想来上海的同学可以看看咱们,小赛道,但是发展很好,基本做到了行业top级别合合信息估计大家都没听过,我当年秋招之前也没听过,但公司的一个产品应该知名度还行,就是扫描全能王这个软件。公司成立挺久了,没记错的话是2006年,应该是最早一批搞大数据的企业。部门氛围很好,正式员工一般也不加班,早上9.30到公司都还没啥人,免费早晚餐,六点半晚餐,七点半应该就没人了。ld,mt都很好相处,弹性打卡,最晚十一点。正式员工直接不用打卡。不了解应届生工资,但如果是应届生进去的话,感觉真的...
xxxxOxo:
为什么挂我简历
合合信息公司福利 342人发布
点赞
评论
收藏
分享
06-30 15:54
湖北文理学院 Java
这个面试官什么意思啊
他是让我运行这个项目么?,但是我没有服务号啊😅
自学java狠狠赚一...:
骗你点star的,港卵公司,记得把star收回去
点赞
评论
收藏
分享
07-06 23:16
大连理工大学 机械结构工程师
一个9的工科男简历这样?
我的简历是不是有点low了,大角牛们给指点指点呗😥😥
大冰箱文森特:
实习经历可以考虑放上去,对于软件使用方面可以细化一些,比如调整为:熟悉基于LSDYNA的瞬态动力学仿真分析,熟悉基于WORKBENCH的结构拓扑优化
我的简历长这样
点赞
评论
收藏
分享
08-08 11:27
西安邮电大学 产品经理
小鹏汽车offer!羡慕了
看到小鹏八月初陆续开始发放offer了,也是羡慕了
小鹏汽车开奖13人在聊
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
总结常用的拖offer的几种话术
3.1W
2
...
26届秋招建议
2.1W
3
...
8月份面经整理的算法高频题集合
1.1W
4
...
字节二面-半技术半聊天?
3648
5
...
家里人一直跟我说要给领导买点东西,搞好关系
3396
6
...
小红书前端(已oc)
3310
7
...
大家离职都怎么开口的啊?
3299
8
...
快手 秋招 一面
3142
9
...
小红书笔试
3016
10
...
8.13快手秋招Java后端二面记录
3016
创作者周榜
更多
正在热议
更多
#
给26届的秋招建议
#
23681次浏览
679人参与
#
我的秋招“寄”录
#
32272次浏览
389人参与
#
实习的内耗时刻
#
36461次浏览
435人参与
#
独居后,你的生活是更好了还是更差了?
#
10313次浏览
159人参与
#
秋招,不懂就问
#
9184次浏览
89人参与
#
你上一次给父母打电话是什么时候
#
10629次浏览
103人参与
#
工作上你捅过哪些篓子?
#
15204次浏览
104人参与
#
我的AI电子员工
#
11997次浏览
95人参与
#
规定下班时间vs实际下班时间
#
17463次浏览
133人参与
#
你最近一次加班是什么时候?
#
76132次浏览
414人参与
#
我的国央企投递进展
#
51539次浏览
310人参与
#
如果校招重来我最想改变的是
#
277650次浏览
2886人参与
#
在职场上,你最讨厌什么样的同事
#
22879次浏览
192人参与
#
查收我的offer竞争力报告
#
195473次浏览
1290人参与
#
如果你有一天可以担任公司的CEO,你会做哪三件事?
#
32133次浏览
488人参与
#
vivo求职进展汇总
#
220989次浏览
1367人参与
#
秋招投递记录
#
25265次浏览
285人参与
#
秋招想进国企该如何准备
#
82197次浏览
446人参与
#
大城市找工作会更容易吗
#
44270次浏览
352人参与
#
你觉得找工作该拿大厂还是小厂练手
#
200651次浏览
1761人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务