首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-30 11:02
门头沟学院 Java
年纪轻轻就有了三个儿子
大家在大一刚入学的时候都比较拘谨,都比较尊重彼此,等玩熟了后,就放飞自我了脏话满天飞,一起熬夜打游戏,互相诋毁游戏水平,点个外卖都要过来分一杯羹,平时作业互抄,上课帮忙签到。大学四年就跟舍友混得最好(直到现在我还认不清班里的一些人但毕竟天天生活在一起,还是有过不少的小矛盾的,只能说遇到这种情况就得互相包容,要不然早就住不下去搬走了
你跟室友的关系怎么样?
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
08-01 18:38
腾讯提前批一面有感
代码题都做上了,问了1个点基础知识没有答不上的,答上百分之95,希望有个好结果吧!
投递腾讯等公司10个岗位
点赞
评论
收藏
分享
07-28 00:10
已编辑
门头沟学院 算法工程师
我的天,凌晨还在发消息😅
码农索隆:
这哥们库库在我帖子下评论
点赞
评论
收藏
分享
07-01 21:02
已编辑
湖南师范大学 用户运营
被100多个HR夸过的简历长这样
标题党呵呵,其实是投简历几十个,回复的寥寥无几二本211硕求求各位大佬指点一下简历还有哪里需要改
机械打工仔:
你这个岗位求职,我只能说新传学魅力时刻
投了多少份简历才上岸
点赞
评论
收藏
分享
07-28 15:32
叠纸游戏_恋与星空-游戏策划(准入职员工)
深信服内推
抓瓦面经,经供参考一面自我介绍实习中遇到的最大困难分批处理数据问题:如何分批处理数据?回答:一开始COUNT总的条数,然后使用LIMIT和OFFSET进行分批查询。每个线程处理一个固定范围的数据,若范围内无数据则停止。追问:若多线程分批查询过程中有数据插入或者删除,则数据缺漏,如何解决问题?回答:维护事务。追问:多线程共享事务存在问题,不合适,有其他方式吗?回答:上锁,但是效率低下(面试官看我给出的两个方案都不满意,没再追问)CSRF攻击防护:问题:什么是CSRF攻击?如何防止?手撕:程序输出解释:问题:解释这个程序的输出(Java的值传递还是引用传递的例子)。绘图程序的改进:问题:如何改进绘...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
7444
2
...
虾皮秋招一面
3204
3
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
2707
4
...
百度提前批 三面
2659
5
...
小鹏offer
1530
6
...
被猿辅导挂了简历,但我想说...
1418
7
...
虾皮一面凉经
1376
8
...
上班一周,工资还没拿,先欠公司两千
1312
9
...
最强本科✌
1305
10
...
大学四年,我感觉我像个“孤勇者”
1222
创作者周榜
更多
正在热议
更多
#
简历上的经历如何包装
#
29566次浏览
821人参与
#
秋招被确诊为……
#
164160次浏览
752人参与
#
中兴秋招
#
205751次浏览
2296人参与
#
工作中哪个瞬间让你想离职
#
63700次浏览
569人参与
#
你最希望上岸的公司是?
#
135225次浏览
706人参与
#
和同事相处最忌讳的是__
#
24462次浏览
244人参与
#
25届网易互娱暑实进度
#
78430次浏览
702人参与
#
虾皮求职进展汇总
#
249465次浏览
1856人参与
#
投格力的你,拿到offer了吗?
#
86790次浏览
583人参与
#
2022毕业即失业取暖地
#
102715次浏览
662人参与
#
2022毕业生求职现身说法
#
89298次浏览
700人参与
#
秋招OC许愿
#
327819次浏览
2450人参与
#
你最近一次加班是什么时候?
#
71005次浏览
350人参与
#
26届的你,投了哪些公司?
#
45320次浏览
497人参与
#
你的秋招第一面感觉怎么样
#
76936次浏览
592人参与
#
柠檬微趣工作体验
#
6740次浏览
40人参与
#
你遇到最难的面试题目是_
#
16687次浏览
201人参与
#
我对___祛魅了
#
48581次浏览
441人参与
#
地平线求职进展汇总
#
52656次浏览
370人参与
#
研究所VS国企,该如何选
#
194850次浏览
1819人参与
#
如果校招重来我最想改变的是
#
271927次浏览
2853人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务