两个字符串,忽略顺序,是否相同,即是否包含相同的字符,对应字符的数量也相同

"hello"和"olleh"相同。
思路:位运算,0异或0=0,0异或1=1,所以ans初始化为0,任何数和自己异或结果为0,这样用0异或两个字符串的每个字符就可。O(n)

    bool match(string str1, string str2) {int n = str1.size();int n2 = str2.size();if (n != n2) return false;int ans = 0;for (int i = 0; i < n; ++i) {ans ^= str1[i];ans ^= str2[i];}return ans == 0;}int main(){string str1 = "hello";string str2 = "heoll";cout << match(str1, str2);return 0;}

此解答有误!!,没考虑str1和str2内部异或结果为0的情况。

小美斗恶龙

时间限制:3000MS

内存限制:1048576KB

题目描述: 小美得到了一款游戏——斗龙。小美拥有两个技能,每个技能都能秒杀掉一条龙,但是要付出相应的MP值,第一个技能需要c1点MP值,第二个技能需要c2点MP值。只要MP足够,小美可以使用无限次技能。

小美即将遇到 n 条龙,如果不使用技能,她和第 i 条龙的战斗结果是T或者F,而如果使用任何一个技能战斗结果都是T。T表示小美成功打败龙,而F表示小美被龙打败。如果小美被龙连续打败三次,那小美就会输掉游戏。请你帮忙计算小美最少需要多少点 MP才能通关。

输入描述:

第一行三个数 n, c1, c2。(1 ≤ n ≤ 100000,1 ≤ c1, c2 ≤ 1000000000)。

第二行 n 个字符,第 i 个字符 si 代表小美与第 i 场战斗的结果。si 是 T 代表小美打败龙,si 是 F 代表小美被龙打败。

输出描述:

输出一个数,代表小美最少需要的MP值。

样例输入:

10 7 3
FTFFFTFFFF
样例输出:
6

提示:
小美可以在第3场战斗、第8场战斗中使用第二个技能,需要耗费3×2=6点MP。

    int main(){int n;long c1, c2;cin >> n >> c1 >> c2;string s;cin >> s;long mp = min(c1, c2);int n1 = s.size();//本题不需要,在n处会输入决定int freq = 0;//连续F次数,遇到T清0,连续第三次F,用技能然后清0long mpsum = 0;for (int i = 0; i < n1; ++i) {if (s[i] == 'T') {freq = 0;continue;}else {if (freq == 2) {mpsum += mp;freq = 0;}else {freq += 1;}}}cout<<mpsum;return 0;}

小美中奖啦

持续补充

小美记数字

三、小美记数字
小美的记忆力超级棒,小团决定来考一考小美。小团给了小美 n 个数,从左到右排成一行,给了1 分钟让小美记住。然后小团会询问 m 次,每次都问数 x 第一次出现的位置和最后一次出现的位置,若数 x 没出现过,那么回答 0 即可。小美的记忆力好,但是 1 分钟记住这么多数实在是太难了,请你帮帮小美,完成这次不可能的挑战。

输入描述
第一行两个数 n, m。(1 ≤ n, m ≤ 50000)。

第二行 n 个数,第 i 个数是 ai。(1 ≤ ai ≤ 1000000000)。

接下来 m 行,每行一个数 x (1 ≤ x ≤ 1000000000),代表一次询问。

输出描述
输出 m 行,若数 x 出现过,输出数 x 第一次出现的位置和最后一次出现的位置。若数 x 没出现过,输出 0。

样例输入
6 4
2 3 1 2 3 3
1
2
3
4
样例输出
3 3
1 4
2 6
0

提示
1 出现的位置有 3,所以答案为 3 3。
2 出现的位置有 1, 4,所以答案为 1 4。
3 出现的位置有 2, 5, 6,所以答案为 2 6。
4 没有出现过,所以答案为 0。

    int main(){int m, n;cin >> n >> m;vector<long> v(n);for (int i = 0; i < n; ++i) {cin >> v[i];}unordered_map<long, int> mfirst;//存第一次出现的下标unordered_map<long, int> mlast;//存最后一次出现的下标for (int i = 0; i < n; ++i) {if (mfirst.find(v[i]) == mfirst.end()) {mfirst[v[i]] = i+1;//位置是下标+1mlast[v[i]] = i+1;}else mlast[v[i]] = i+1;}for (int i = 0; i < m; ++i) {int q;cin >> q;if (mfirst.find(q) == mfirst.end()) {cout << 0 << endl;}else {cout << mfirst[q] << " " << mlast[q] << endl;}}return 0;}

奶茶


这个样例就是说3个人,把5杯奶茶分三段,5+8一个人喝,(5+8)/4向上取整是4,(3+10)/4也是4,7是2,取最大。

int minTime = INT_MAX;void findTime(vector<int> v, int begin, int people, int time, double c) {if (people == 1) {//最后一个人从begin喝到完double sum = 0;for (int i = begin; i < v.size(); ++i) {sum += v[i];}time = max(time, int(ceil(sum / c)));//当前方案用的时间minTime = min(minTime, time);//记录一个最小时间}else {//剩余不止1人能分配for (int i = begin; i < v.size(); ++i) {//i到结束中间切下来一人份,就是j的范围double sum = 0;for (int j = begin; j <= i; ++j) {//这个人要喝掉sum分量奶茶sum += v[j];}findTime(v, i + 1, people - 1, max(time, int(ceil(sum / c))), c);//切下来一人份以后,剩下的时长}}}int main(){int n, m;double c;cin >> n >> m >> c;vector<int> v(n, 0);for (int i = 0; i < n; ++i) {cin>>v[i];}findTime(v, 0, m, 0, c);cout << minTime;return 0;}

值日

    int main(){int n, m;cin >> n >> m;vector<vector<int>> v(n,vector<int>(n, 0));for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {cin >> v[i][j];}}//cin >> n >> m;int id = 0;int a1 = 1, a2 = 2;for (int k = 0; k < m - 2;++k) {//更新m-2次id = v[a2 - 1][a1 - 1];//注意它下标是从1起的就行了a1 = a2;a2 = id;}if (m == 1)cout << 1;if (m == 2)cout << 2;else cout << id;return 0;}

    int main(){string str1, str2;cin >> str1;cin >> str2;string str1_copy = str1;//复制string1int n = str2.size();int sum = 0;for (int i = 0; i < n; ++i) {int n2 = str1.size();for (int j = 0; j < n2; ++j) {if (str2[i] == str1[j]) {sum += j;if (j != n2 - 1) {str1 = str1.substr(j + 1) + str1_copy;//流剩余部分加上一个string1}else {str1 = str1_copy;}break;}}}cout << sum;return 0;}//abcdefghijklmnopqrstuvwxyz

寻找数字

    int main(){string s;cin >> s;vector<int> v;int num = 0;for (int i = 0; i < s.size(); ++i) {if (isdigit(s[i])) {num = num * 10 + int(s[i] - '0');if (i == s.size() - 1) {//如果扫到最后一个数,也要存进vv.push_back(num);}}else {//遇到非数字,把已有非0数字存进vif (num != 0) {v.push_back(num);num = 0;}continue;}}sort(v.begin(), v.end());//排序for (auto c : v) {cout << c << endl;}return 0;}

蚂蚁上树

做一遍没有上司的舞会,掌握树形dp,牛客dp专项有树形dp的题。
https://www.nowcoder.com/discuss/613226?source_id=profile_create_nctrack&channel=-1

数数

https://blog.csdn.net/qq_44745063/article/details/114782323

多重集合

溶液

https://blog.csdn.net/econe_wei/article/details/115037497

http://dljz.nicethemes.cn/news/show-32449.html

2022-04-08美团笔试练题相关推荐

  1. ROS安装时rosdep init与rosdep update问题解决方法(2022.04.08亲测)

    2022.4.8更新: 运行下面的指令即可 sudo apt-get install python3-pip sudo pip3 install rosdepc sudo rosdepc init r ...

  2. 美团笔试题2021.8.29(第四题求大佬解答)

    美团笔试题2021.8.29 又再帮同学写,推了这周的周赛,侥幸都有点思路 丁香树 题目描述 思路 因为芳香值最大为30,所以用一个数组存储已走过的芳香值,然后走到第i个点,找比当前芳香值小的有多少个 ...

  3. 【系统分析师之路】2022上综合知识历年真题

    [系统分析师之路]2022上综合知识历年真题 [2022下系分真题第01题:红色] 01.()是从系统的应用领域而不是从系统用户的特定需要中得出的,它们可以是新的功能性需求,或者是对已有功能性需求的约 ...

  4. 2020.04.08【NOIP普及组】模拟赛C组24 总结

    2020.04.08 2020.04.08 2020.04.08[ N O I P NOIP NOIP普及组]模拟赛 C C C组 24 24 24 总结 概述: 这次比赛我 A K AK AK了,拿 ...

  5. 2022起重机司机(限桥式起重机)理论题库及答案

    题库来源:安全生产模拟考试一点通公众号小程序 2022年起重机司机(限桥式起重机)培训试题为起重机司机(限桥式起重机)考试题库考前押题!2022起重机司机(限桥式起重机)理论题库及答案根据起重机司机( ...

  6. 2020美团面试真题解析

    2020美团面试真题解析 1.双链表找相交结点2.10亿数,找最大100个数3.synchronize 静态方法和普通方法4.ANR是什么,怎么解决 5.Activity生命周期,如何摧毁一个Acti ...

  7. 音视频面试题集锦 2022.04

    下面是 2022.04 月音视频面试题集锦内容的节选: 1)RTMP 消息分优先级的设计有什么好处? RTMP 的消息优先级是:控制消息 > 音频消息 > 视频消息.当网络传输能力受限时, ...

  8. 2022低压电工考试模拟100题模拟考试平台操作

    题库来源:安全生产模拟考试一点通公众号小程序 2022年低压电工复训题库系低压电工练习题考前必练习题目!2022低压电工考试模拟100题模拟考试平台操作根据低压电工考前押题.低压电工模拟考试题库通过安 ...

  9. 2022电工(初级)判断题及模拟考试

    题库来源:安全生产模拟考试一点通公众号小程序 2022年电工(初级)复审题库是电工(初级)模拟考试题库历年真题!2022电工(初级)判断题及模拟考试依据电工(初级)新版考试题库.电工(初级)全部考试题 ...

  10. 美团笔试题之查找幸运星

    美团笔试题之查找幸运星 题目其实很简单,特别简单,当时看一眼题目我心中就有思路了,问题就是我卡在了如何循环输入上了,简直是不可思议, 当时我想复杂了,现在看来如此简单的问题我卡了这么久,实在是不应该啊 ...

最新文章

  1. Python scapy库监听网卡,抓取HTTP包
  2. HMM和贝叶斯网络的关系
  3. 苹果要垄断?官方证实:T2安全芯片会限制新款Mac电脑第三方
  4. 关于 \8 为56问题解答
  5. JZOJ 5385. 【NOIP2017提高A组模拟9.23】Carry
  6. 11种方法激励科技人才
  7. Linux如何检查目录inode占用,linux – 如何确定哪个文件/ inode占用给定扇区
  8. laravel 图片流_Laravel 之添加图片水印
  9. (7)FPGA十大设计思想(第2天)
  10. java二级考试真题_计算机等级考试真题2(JAVA)
  11. IDEA快捷键整理(最详细的)
  12. Java比较两个对象属性值变化情况,用于记录日志使用
  13. Win10系统Qt安装及配置
  14. 【2018提高测试】飘雪圣域 【连通性+可持久化线段树 / 离线+权值线段树】 (详解)
  15. 618电商大数据分析可视化报告
  16. 迅歌KTV服务器各型号,2017年ktv必点歌曲排行榜(4页)-原创力文档
  17. Android使用Google Map服务 - 根据GPS信息在地图上定位
  18. 一步步制作Arduino智能小车
  19. 微信小程序管理客服微信号
  20. v62.02 鸿蒙内核源码分析(文件概念) | 为什么说一切皆是文件 | 百篇博客分析OpenHarmony源码

热门文章

  1. 2021暑期学习之旅
  2. 谷歌学术镜像_Google镜像站
  3. 古风诗词选别名-欢迎留言
  4. 大学计算机课挂科补考,【挂科的同学请注意!】关于本学期补考、缓考的通知(转)...
  5. r语言做绘制精美pcoa图_pca , nmds , pcoa 图添加分组的椭圆
  6. Ubuntu安装字体for wps
  7. ~是什么意思 在C语言中,~0代表什么
  8. Python练手项目之微信机器人、恢复被撤回的微信消息
  9. html怎么给一段文字加边框,css怎么给文字加边框
  10. python图像锐化_(python 图像锐化教程)C 实现bmp图像锐化后,锐化的效果很差,求大神帮忙啊...