华为OD题目:知识图谱新词挖掘1

这篇具有很好参考价值的文章主要介绍了华为OD题目:知识图谱新词挖掘1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

知识图谱新词挖掘1

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

输入描述:
第一行输入为待挖掘的文本内容content;
第二行输入为词word;

输出描述
在中找到的所有word的新词的数量

补充说明:
0<=content的长度<=10000000:
1=<word的长度<=2000

示例1
输入:
qweebaewqd
qwe
输出:
2

说明:
起始索引等于 0 的子串是"qwe”它是 word的新词。
起始索引等于 6 的子串是"ewq”,它是 word 的新词

示例2
输入:
abab
ab
输出:
3
说明:
起始索引等于 0 的子串是"ab” 它是 word的新词
起始索引等于 1 的子串是“ba",它是 word的新词
起始索引等于 2 的子串是“ab”,它是 word的新词

解题思路:文章来源地址https://www.toymoban.com/news/detail-437940.html

  • 这个是标准的滑动窗口
  • 先对word进行字符排序
  • 然后滑动窗口,对截取的字符串进行字符排序,得出的排序后的substring,与排序后的word比较,想通就对结果集+1
package com.darling.boot.order.od.od27;


import java.util.*;


/**
 * 知识图谱新词挖掘1
 *
 * 知识点滑窗
 * 时间限制: 1s 空间限制: 256MB 限定语言: 不限
 * 题目描述:
 * 小华负责公司知识图谱产品,现在要通过新词挖掘完善知识图谱。
 * 新词挖掘: 给出一个待挖掘文本内容字符串Content和一个词的字符串word,找到content中所有word的新词.
 * 新词: 使用词word的字符排列形成的字符串。
 * 请帮小华实现新词挖掘,返回发现的新词的数量。
 *
 * 输入描述:
 * 第一行输入为待挖掘的文本内容content;
 * 第二行输入为词word;
 *
 * 输出描述
 * 在中找到的所有word的新词的数量
 *
 * 补充说明:
 * 0<=content的长度<=10000000:
 * 1=<word的长度<=2000
 *
 * 示例1
 * 输入:
 * qweebaewqd
 * qwe
 * 输出:
 * 2
 *
 * 说明:
 * 起始索引等于 0 的子串是"qwe”它是 word的新词。
 * 起始索引等于 6 的子串是"ewq”,它是 word 的新词
 *
 * 示例2
 * 输入:
 * abab
 * ab
 * 输出:
 * 3
 * 说明:
 * 起始索引等于 0 的子串是"ab” 它是 word的新词
 * 起始索引等于 1 的子串是“ba",它是 word的新词
 * 起始索引等于 2 的子串是“ab”,它是 word的新词
 *
 * 解题思路:
 * 这个是标准的滑动窗口
 * 先对word进行字符排序
 * 然后滑动窗口,对截取的字符串进行字符排序,得出的排序后的substring,与排序后的word比较,想通就对结果集+1
 *
 *
 */

//输入:
//* qweebaewqd
//* qwe
//* 输出:
//* 2
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String content = sc.nextLine();
        String word = sc.nextLine();

        //对word进行排序,获得排序后的字符串
        char[] wordArray = word.toCharArray();
        Arrays.sort(wordArray);
        String sortedWord = String.valueOf(wordArray);
        int wordLen = word.length();

        int count = 0;
        if (content.length() < wordLen) {
            System.out.println(count);
            return;
        }
        //注意边界值
        for (int i = 0; i <= content.length()-wordLen; i++) {
            int j = i + wordLen;
            String substring = content.substring(i, j);
            char[] chars = substring.toCharArray();
            Arrays.sort(chars);
            String sortedSubstring = String.valueOf(chars);
            if (sortedSubstring.equals(sortedWord)) {
                count++;
            }
        }
        System.out.println(count);




    }

}

到了这里,关于华为OD题目:知识图谱新词挖掘1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为OD机试真题Java_2022-2023-题目0178-不含101的数

    小明在学习二进制时,发现了一类不含 101 101 101 的数, 也就是将数字用二进制表示,不能出现 101 101 101 。 现在给定一个正整数区间 [ l , r ] [l,r] [ l , r ] ,请问这个区间内包含了多少个不含 101 101 101 的数? 输入一行,包含两个正整数 l , r ( 1 ≤ l r ≤ 1 0 9 ) l,r (1 leq l r leq

    2024年02月05日
    浏览(44)
  • 【2023】华为OD机试真题全语言-题目0233-单向链表中间节点

    求单向链表中间的节点值,如果奇数个节点取中间,偶数个取偏右边的那个值。 第一行 链表头节点地址 后续输入的节点数 n n n 后续输入每行表示一个节点,格式 节点地址 节点值 下一个节点地址( -1 表示空指针) 输入保证链表不会出现环,并且可能存在一些节点不属于链表

    2024年02月05日
    浏览(38)
  • 华为OD机试(B、C卷)、机考,200分的题目整理如下,冲满分必备

    2023 年参加华为 OD 机试,你收到的短信邀请链接中提及的应该是 2022Q4 或者 2023Q1 都是 A 卷。 5月1日之后,有部分朋友收到的是 B 卷,那么恭喜你看到本文了,快抓紧刷吧。 B 卷新题库正在更新中…… O(∩_∩)O 只要是这样的试卷标题,那表示你使用的就是华为 OD 的新题库了。

    2024年02月03日
    浏览(81)
  • 华为OD机试 - 题目解析和算法源码(Java & JS & Python & C & C++)

    哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 某个开源社区希望将最近热度比较高的开源项目出一个榜单,推荐给社区里面的开发者。 对于每个开源项目,开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请

    2024年03月27日
    浏览(43)
  • 【2023】华为OD机试真题Java CC++ Python JS Go-题目0252-密钥格式化

    给定一个非空字符串 S S S ,其被 N N N 个 - 分隔成 N

    2024年02月15日
    浏览(43)
  • 【2023】华为OD机试真题Java CC++ Python JS Go-题目0246-需要打开多少监控器

    某长方形停车场,每个车位上方都有对应监控器,当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时,监控器才需要打开,给出某一时刻停车场的停车分布,请统计最少需要打开多少个监控器 第一行输入m,n表示长宽,满足1m,n=20;后面输入m行, 每行有n个0或

    2024年02月09日
    浏览(48)
  • 【华为OD机试真题 JAVA】算法中的常用知识点

            IndexOf():返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这                             样的字符,则返回 -1。         charAt(i):返回指定索引 i 处的字符。索引范围为从 0 到 length() - 1。         equals(s):将字符串与指定

    2024年02月10日
    浏览(45)
  • 【数据挖掘】练习6:上机题目

    练习6:上机题目 一:实验目的与要求 1:了解R语言中各种图形元素的添加方法,并能够灵活应用这些元素。 2:了解R语言中的各种图形函数,掌握常见图形的绘制方法。 二:实验内容 1:某银行在降低贷款拖欠率的数据 bankloan 的示例数据。 2:比较违约与不违约情形不同特

    2024年04月17日
    浏览(44)
  • Python neo4j建立知识图谱,药品知识图谱,neo4j知识图谱,知识图谱的建立过程,智能用药知识图谱,智能问诊必备知识图谱

    一、知识图谱概念 知识图谱的概念是由谷歌公司在2012年5月17日提出的,谷歌公司将以此为基础构建下一代智能化搜索引擎,知识图谱技术创造出一种全新的信息检索模式,为解决信息检索问题提供了新的思路。本质上,知识图谱是一种揭示实体之间关系的语义网络,可以对

    2024年01月17日
    浏览(49)
  • 【知识图谱】深入浅出讲解知识图谱(技术、构建、应用)

    本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅! 个人主页:有梦想的程序星空 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域

    2023年04月08日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包