首页 > 其他分享 >华为OD机试:40 知识图谱新词挖掘

华为OD机试:40 知识图谱新词挖掘

时间:2024-06-13 21:30:22浏览次数:13  
标签:word String int OD 40 words 挖掘 机试 新词

package a_od_test;

import java.util.Arrays;
import java.util.Scanner;

/*
知识图谱新词挖掘
知识点滑窗
时间限制:1s 空间限制:256MB 限定语言:不限
题目描述:
小华负责公司知识图谱产品,现在要通过新词挖掘完善知识图谱。
薪词挖掘:给出一个待挖掘文本内容字符串Content和一个词的字符串word,找到
content中所有word的新词。
新词:使用用词word的字符排列形成的宇符串。
请帮小华实现新词挖掘,返回发现的新词的数量。

输入描述:
第一行输入为待挖掘的文本内容content;
第二行输入为词word;
输出描述:
在content中找到的所有word的新词的数量。
补充说明:
O<=content 的长度 <=10000000;
1=<word 的长度 <=2000

示例1
输入:
qweebaewqd
qwe
输出:
2
说明:
起始索引等于0的子串是“qwe“:它是word的新词
姿索引等于6的子串是“ewq”.它是word的新词


输入:
abab
ab
输出:
3
说明:
起始索引等于0的子串是”ab”.它是word的新词。
起始索引等于1的子串是“ba”.它是word的新词.
起始索引等于2的子串是“ab“.它是word的新词.
 */
public class Main40 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String contant = sc.nextLine();
        String word = sc.nextLine();
        char[] words = word.toCharArray();
        Arrays.sort(words);

        int left = 0;
        int right = words.length;
        int result = 0;
        for (int i = 0; i <= contant.length() - words.length; i++) {
            String temp = contant.substring(left, right);
            char[] temps = temp.toCharArray();
            Arrays.sort(temps);
            if (Arrays.equals(words, temps)) {
                result++;
            }
            left++;
            right++;
        }

        System.out.println(result);


    }
}

标签:word,String,int,OD,40,words,挖掘,机试,新词
From: https://blog.csdn.net/weixin_45547818/article/details/139664049

相关文章

  • 从零手写实现 nginx-21-modules 模块
    前言大家好,我是老马。很高兴遇到你。我们为java开发者实现了java版本的nginxhttps://github.com/houbb/nginx4j如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicat手写nginx系列如果你对nginx原理感兴趣,可以阅读:从零......
  • Modbus协议转Profinet协议网关与气体监测系统配置案例
    一、背景;Modbus协议和Profinet协议作为工业领域常见的两种通讯协议,各自具有一定的特点和应用范围。Modbus转Profinet网关(XD-MDPN100/300)在工业自动化控制系统中,可以将Modbus协议转换为Profinet协议,以实现不同设备之间的数据交换和通讯二、前景;许多现有的工业设备采用Modbus协议进......
  • Q28 LeetCode202 快乐数
    主要是查看HashMap中是否存储n,如果存储就说明非快乐数各位的数平方相加的方法 1classSolution{2publicbooleanisHappy(intn){3HashMap<Integer,Integer>map=newHashMap<>();45while(getSum(n)!=1){6intan......
  • 【Python】成功解决UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in p
    【Python】成功解决UnicodeDecodeError:‘gbk’codeccan’tdecodebyte0x80inposition45:illegalmultibytesequence 下滑即可查看博客内容......
  • Codeforces Round 952 (Div. 4)
    A读入两个字符串,交换第一位即可。B题意给定整数\(n\),求一个整数\(x\),满足:\(2\leqx\leqn\)。\(\displaystyle\sum\limits_{i=1}^ki\cdotx\)最大,其中\(k\)为满足\(kx\leqn\)最大的正整数。思路赛时思路可以直接枚举\(x\)的所有情况,暴力计算答案。......
  • MDK5.14仿真STM32F407时无法查看外设寄存器的问题
    这几天用keilmdk5.14新建工程进行仿真时,进入Debug环境发现SystemViewer菜单显示空白,Peripherals菜单没有外设寄存器。如图1和图2所示。网上查了一下资料发现大多都是解释的STM32F103系列在MDK内的修改方式,但是我用的是STM32F407ZET6,就依葫芦画瓢,照着出一个修改的说明。  ......
  • 【堆】Leetcode 373. 查找和最小的 K 对数字【中等】
    查找和最小的K对数字给定两个以非递减顺序排列的整数数组nums1和nums2,以及一个整数k。定义一对值(u,v),其中第一个元素来自nums1,第二个元素来自nums2。请找到和最小的k个数对(u1,v1),(u2,v2)…(uk,vk)。示例1:输入:nums1=[1,7,11],nums......
  • DockerCompose+Jenkins+Pipeline流水线打包Vue项目(解压安装配置Node)入门
    场景DockerCompose+Jenkins+Pipeline流水线打包SpringBoot项目(解压安装配置JDK、Maven等)入门:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/139631755以上使用流水线配置和打包springboot后台项目,如果要使用流水线和配置node打包vue项目,可按如下步骤。注:博......
  • Q27 LeetCode350 两个数组交集取小
    使用hashmap记录数字个数,如果nums1中重复数字多,遍历2时则不需要取少如果2中重复数字多,则每次取到就-1,直至map内无值  1classSolution{2publicint[]intersect(int[]nums1,int[]nums2){3HashMap<Integer,Integer>map=newHashMap<>();4......
  • (nice!!!)LeetCode 2813. 子序列最大优雅度(反悔贪心)
    2813.子序列最大优雅度思路:1.先对数组items按profit进行降序排序。2.把前k个最大的profit选中3.再遍历剩余的项目,看看能不能增加类别的数量。因为profit是递减的,所以只有类别的数量能增大的情况下,才考虑从选中的k个项目当中删掉重复的类别项目里面的最小profit。细节......