PHP华为机试在线训练解题思路

PHP华为机试在线训练解题思路

因为最近疫情问题,闲来在家刷刷PHP试题准备春招,记录与分享一下使用PHP来解华为机试的思路。
题目描述
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。

输出描述:
整数N,最后一个单词的长度。

示例1
输入
hello world

输出
5

解题思路:
本题考查的内容就是对字符串进行分割与统计分割后字符串的长度。
解题目步骤:

  1. 从终端读取输入的字符串。
  2. 以空格为分隔符,分割字符串并转成数组形式。 PHP相关知识->explode();
  3. 计算新数组最后一位的长度

//计算字符串方法
function cal_world($string){
	//1.以空格分割并新的数组
    $new_array=explode(' ',trim($string));
    //2.找出数组的最后一位索引
    $world_index=count($new_array)-1;
    echo strlen($new_array[$world_index]);
}

$inputStr = fgets(STDIN);
cal_world($inputStr);

题目描述
写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。

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

输出描述:
输出输入字符串中含有该字符的个数。

示例1
输入
ABCDEF
A

输出
1

解题思路:
本题考查的内容就是查找一个字符在字符串中存在的几次。首先统计字符串的长度,然后循环对比单字符即可。
解题目步骤:

  1. 从终端读取输入的字符串与单字符。
  2. 转化为统一的大写或者小写,注意:题目中说明不区分大小写。
  3. 循环对比


function cal_num($Input_string,$Input_char){
    $count=0;
    $String_length=strlen($Input_string);
    for($i=0;$i<$String_length;$i++){
        if($Input_string[$i]==$Input_char){
            $count++;
        }
    }
    echo $count;
}
1.从终端输入字符串,并全部转为小写
$Input_string =strtolower(fgets(STDIN));
$Input_char = strtolower(trim(fgets(STDIN)));
cal_num($Input_string,$Input_char);

你可能感兴趣的:(PHP华为机试在线训练解题思路)