一、题目描述
小华负责公司知识图谱产品,现在要通过新词挖掘完善知识图谱。
新词挖掘: 给出一个待挖掘文本内容字符串Content和一个词的字符串word,找到content中所有word的新词。
新词:使用词word的字符排列形成的字符串。
请帮小华实现新词挖掘,返回发现的新词的数量。
二、输入描述
第一行输入为待挖掘的文本内容content
第二行输入为词word
三、输出描述
在中找到的所有word的新词的数量
四、Java算法源码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
String word = sc.nextLine();
char[] arr = word.toCharArray();
Arrays.sort(arr);
String wordStr = String.valueOf(arr);
int len = word.length();
int count = 0;
if (line.length() < len) {
System.out.println(count);
return;
}
for (int i = 0; i <= line.length()-len; i++) {
int j = i + len;
String str = line.substring(i, j);
char[] chars = str.toCharArray();
Arrays.sort(chars);
String str2 = String.valueOf(chars);
if (str2.equals(wordStr)) {
count++;
}
}
System.out.println(count);
}
五、效果展示
1、输入
nezhastudyjavaahz
zha
2、输出
2
3、说明
zha是zha的新词;
ahz是zha的新词;
🏆本文收录于,华为OD机试(JAVA)(2022&2023)
本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。