ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

题目29

2022-07-19 12:03:11  阅读:154  来源: 互联网

标签:题目 前缀 29 联想 单词 英文单词 word 输入


         主管期望你来实现英文输入法单词联想功能
         需求如下
         依据用户输入的单词前缀
         从已输入的英文语句中联想出用户想输入的单词
         按字典序输出联想到的单词序列
         如果联想不到
         请输出用户输入的单词前缀
         注意
         英文单词联想时区分大小写
         缩略形式如
         "don't" 判定为两个单词 "don"和 "t"
         输出的单词序列不能有重复单词
         且只能是英文单词,不能有标点符号

         输入描述
         输入两行
         首行输入一段由英文单词word和标点构成的语句str

         接下来一行为一个英文单词前缀pre
         0 < word.length() <= 20
         0 < str.length <= 10000
         0 < pre <=20

         输出描述
         输出符合要求的单词序列或单词前缀
         存在多个时,单词之间以单个空格分割

         示例一
         输入
           I love you
           He

          输出
            He

          说明
            用户已输入单词语句"I love you",
            中提炼出"I","love","you"三个单词
            接下来用户输入"He" ,
            从已经输入信息中无法联想到符合要求的单词
            所以输出用户输入的单词前缀

            示例二
            输入
            The furthest distance in the world,Is not between life and death,But when I stand in front or you,Yet you don't know that I love you.
            f

            输出
            front furthest

<?php
$s=fgets(STDIN);
// $arr=explode(' ',trim(fgets(STDIN)));
$pre=trim(fgets(STDIN));
solution($s,$pre);

function solution($s,$pre)
{
    $arr=preg_split('/\W+/',$s);
    $arr=array_flip(array_flip($arr));//去重
    $res='';
    foreach ($arr as $value){
        if(startwith($value,$pre)){
            $res.=$value.' ';
        }
    }
    if(strlen($res)==0) $res=$pre;
    echo $res;
}

function startwith($str,$pattern) {
    return strpos($str,$pattern) === 0 ? true:false;
}

 

标签:题目,前缀,29,联想,单词,英文单词,word,输入
来源: https://www.cnblogs.com/weiguomiao/p/16493555.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有