关注
#include<stdio.h>
using namespace std;
int main(){
char s[]={'t','b','c','a','c','b','d','a','t','a'};
char t[]={'a','b','c','d'};
int s_len=10,t_len=4;
int res;
if(s_len<t_len){
res=-1;
printf("%d",res);
return 0;
}
//申请一个散列表,记录窗口中元素的情况
int hash[26]={0};
for(int i=0;i<t_len;++i){
++hash[t[i]-'a'];
}
int l=0,count=0;
for(int r=0;r<s_len;++r){
--hash[s[r]-'a'];
if(hash[s[r]-'a']>=0){ //s[r]处的字符在t中
++count;
}
//向右移动左指针
if(r>t_len-1) {
++hash[s[l]-'a'];
if (hash[s[l]-'a']>0) --count;
++l;
}
if(count==t_len && r-l+1==t_len){
res=l;
printf("%d",res);
return 0;
}
}
res=-1;//没有找到
printf("%d",res);
return 0;
}
查看原帖
1 评论
相关推荐
查看12道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
11297次浏览 188人参与
# 牛友的春节生活 #
8666次浏览 172人参与
# 春节前,你还在投简历吗? #
14992次浏览 176人参与
# 从夯到拉,锐评职场mentor #
5676次浏览 86人参与
# 牛客AI体验站 #
15052次浏览 268人参与
# 备战春招/暑实,现在应该做什么? #
5682次浏览 170人参与
# 春节提前走,你用什么理由请假? #
11179次浏览 254人参与
# 实习到现在,你最困惑的一个问题 #
4948次浏览 140人参与
# 怎么给家人解释你的工作? #
51628次浏览 208人参与
# 工作后,你落下了哪些病根 #
32472次浏览 277人参与
# 面试经验谈 #
406604次浏览 7218人参与
# 没有家庭托举的我是怎么找工作的 #
35762次浏览 266人参与
# 机械制造秋招总结 #
103394次浏览 886人参与
# 上班摸鱼,你都在干些什么? #
39187次浏览 246人参与
# 今年秋招你收到了多少封邮件? #
37828次浏览 279人参与
# 距离春招还有一个月,你现在是什么开局? #
7590次浏览 121人参与
# xxx岗位的一天 #
44986次浏览 279人参与
# 暑期实习什么时候投? #
7740次浏览 180人参与
# 聊聊Agent开发 #
26606次浏览 621人参与
# 找工作,行业重要还是岗位重要? #
96558次浏览 1839人参与
途虎公司福利 103人发布