您的位置 首页 java

华为机试题目-统计字符串出现次数-replaceAll()巧解,看懂掌声

描述

写出一个程序,接受一个由字母、数字和空格组成的 字符串 ,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

数据范围: 1≤ n ≤1000

输入描述:

第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。

输出描述:

输出输入字符串中含有该字符的个数。(不区分大小写字母)

解法思路

将输入字符串中的目标字符替换为空字符串“” (注意区分空格和空字符是不同的ascii码),每替换一次,原输入字符串的长度就会减少一,替换结束后的字符串长度和原输入字符串长度的差,便是目标字符在输入字符串出现的次数

代码实现

  import  java .util.Scanner;
 public class Main{
     public  static   void  main(String [] args){
         Scanner sc = new Scanner(System.in);
          String  srcStr = sc.nextLine().toLowerCase();
         String tarChar = sc.nextLine().toLowerCase();
         System.out.println(srcStr.length() - srcStr.replaceAll(tarChar,"").length());
     }
 }  

优缺点和拓展

优点 :基于API编程,思路比较巧妙,可扩展性好

缺点 :运行速度较慢于逐个字符做比较的查找方式

扩展 :题目可以修改为统计目标字符串str在源字符串中出现的次数,整体思路相同,计算公式需要修改为:

count = (srcStr.length() – srcStr.replaceAll(tarStr,””).length())/tarStr.length()

题目链接

羡慕大佬

文章来源:智云一二三科技

文章标题:华为机试题目-统计字符串出现次数-replaceAll()巧解,看懂掌声

文章地址:https://www.zhihuclub.com/198792.shtml

关于作者: 智云科技

热门文章

网站地图