阿里 笔试

A了第一道,满足了
先比较两个字符的每个字母出现次数是否一样,然后计算不需要移动的次数,总长度减去不需要移动的次数

不是求最长公共子序列
比如
ackdm
ckadm
最长公共子序列是4,计算出来的移动次数就是1
但是实际上移动3次

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
string s;
string s2;
vector<int> vs(26,0);
vector<int> vs2(26,0);
cin>>s;
cin>>s2;
if(s.size()!=s2.size()){
cout<<-1<<endl;
return 0;
}
for(int i=0;i<s.size();i++){
vs[s[i]-'a']++;
}
for(int j=0;j<s2.size();j++){
vs2[s2[j]-'a']++;
}
for(int i=0;i<vs.size();i++){
if(vs[i]!=vs2[i]){
cout<<-1<<endl;
return 0;
}
}
int j=0;
for(int i=0;i<s.size();i++){
if(s[i]==s2[j]){
j++;
cout<<s[i]<<endl;
}
}
cout<<s.size()-j<<endl;
}
#阿里巴巴#
全部评论
用来测试的,提交的时候注释掉了,本地忘了注释掉了。
点赞 回复 分享
发布于 2020-03-27 12:01
cout<<s[i]<<endl; 这行是干啥的。。。和是s【i】有啥关系
点赞 回复 分享
发布于 2020-03-27 11:11
abcd和acbd 只需要一次啊,总长度减去不需要移动的次数不对吧
点赞 回复 分享
发布于 2020-03-27 10:41

相关推荐

机智的豹子有点心碎:UU我还在找工作还没找到,一直在搜简历怎么改,总结了这些: 1.SEO:简历根据每一个岗位定制化:使用这个岗位中所描述的工作的词,它要求什么技能就把自己的技能描述成什么样子,把SEO用在自己身上(把我的简历和个人特质,当成一个热门产品来做 “搜索引擎优化”),让HR能用最低的门槛看到我 2."顺序:把岗位要求的技能跟经历放在简历的最开头、最显眼的位置" 3.包装:简历是一个最终交付说明书,只要最终学习成长做得到就可以,在合适的范围内自我吹捧(我这个人怎么能够在HR的角度被迅速的看懂和看到,减轻HR的工作压力) 4.每点加小标题​:用6~10字概括该段内容,便于面试官快速抓取信息。 5.避免空泛描述​:拒绝“培养了组织能力”等泛泛而谈,替换为具体行动和成果。 6."使用“三段式结构”​​:每段经历按“为什么做-做了什么-结果如何”展开: ​a) 为什么做​:痛点或目标(例如“品牌声量不足”) ​b) 做​了什么:方法论(例如“趋势洞察+竞品对标+人群细分”) ​c) 结果如何​:量化成果或影响(例如“推动客户投放20万预算”)" 7.量化成果​:用数字体现工作成效(如“整理500+份资料”“撰写2万字报告”)。 这些有的是我想去的岗的,如果对你有用的话按需修改就好~加油,早日上岸!
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务