当前位置:   article > 正文

华为机试真题实战应用【赛题代码篇】-快速人名查找(附Java、C++和Python代码)

华为机试真题实战应用【赛题代码篇】-快速人名查找(附Java、C++和Python代码)

目录

问题描述

思路解析

思路1

思路2

代码实现

Java

JS

 

C++

代码2

python

代码2


 

问题描述

思路解析

思路1

  • 先将输入按照,风格得到一个字符串数组
  • 然后遍历这个数组,针对每一个人的名字:
    • 按照,切割,然后从左到右模型尝试匹配
    • 什么时候停止呢?
      • 当names匹配完成 || exp匹配完成了
        • 只有names和exp都全部匹配完成了,才满足要求
    • 对于names中的每一个name:
      • 第一个字母必须能用到
      • 然后每一个name可能会消耗多个exp的字符

思路2

深度优先搜索算法(Depth First Search,简称DFS):一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。属于盲目搜索,最糟糕的情况算法时间复杂度为O(n)。

  1. 第一行输入人名,逗号隔开;
  2. 通过java8 Strea
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/872195
推荐阅读
相关标签
  

闽ICP备14008679号