关注
滑动窗口+Hash吧, O(n) 的复杂度,比较时只需要对比两个串hash之后的值。
public static int find(String father, String child){
int len1 = father.length();
int len2 = child.length();
if(len1<len2 || len1<=0){
return -1;
}
// 初始化2的N次方
int[] N2 = new int[26];
for(int i=0; i<26; i++){
N2[i] = (int) Math.pow(2,i);
}
// 计算child的值
int childValue = 0;
for(int i=0; i<len2; i++){
childValue += N2[child.charAt(i)-'a'];
}
// System.out.println("childValue---"+ childValue);
int fatherValue = 0;
for(int i=0; i<len1; i++){
if(i>=len2){
fatherValue -= N2[father.charAt(i-len2)-'a'];
}
fatherValue += N2[father.charAt(i)-'a'];
if(fatherValue == childValue){
return i-len2+1;
}
}
return -1;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客大王八:你这种的只能说十万挑一个
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
147478次浏览 2517人参与
# 秋招落幕,你是He or Be #
3201次浏览 76人参与
# 应届生进小公司有什么影响吗 #
109078次浏览 1116人参与
# 比亚迪工作体验 #
70155次浏览 254人参与
# 你面试体验感最差/最好的公司 #
3032次浏览 56人参与
# 工作中听到最受打击的一句话 #
2525次浏览 61人参与
# 大厂VS公务员你怎么选 #
71151次浏览 660人参与
# 重来一次,你会对开始求职的自己说 #
2963次浏览 71人参与
# 一人说一个提前实习的好处 #
3350次浏览 70人参与
# 团建是“福利”还是是 “渡劫” #
4021次浏览 110人参与
# 实习没事做是福还是祸? #
8253次浏览 135人参与
# 如何排解工作中的焦虑 #
243777次浏览 2241人参与
# 从顶到拉给所有面过的公司评分 #
144796次浏览 518人参与
# 今年你最想重开的一场面试是? #
1406次浏览 25人参与
# 你小心翼翼的闯过多大的祸? #
6919次浏览 109人参与
# 联影求职进展汇总 #
123831次浏览 781人参与
# OPPO求职进展汇总 #
755896次浏览 5390人参与
# 互联网公司爆料 #
158576次浏览 724人参与
# 产品实习,你更倾向大公司or小公司 #
189096次浏览 2053人参与
# 秋招结束之后的日子 #
113910次浏览 1039人参与