华为od机试python实现hj1 字符串最后一个单词的长度 
时间: 2023-05-08 18:00:35 浏览: 69
HJ1题目要求通过Python编写程序,实现求解输入字符串中最后一个单词的长度的功能。通过分析题目,我们可以将在Python中实现解题过程分为如下几个步骤:
1、输入字符串处理。在题目中,字符串由空格和单词组成,因此,我们需要使用strip()函数将输入字符串前后空格去除。
2、找到最后一个单词。由于我们需要求解的是字符串中最后一个单词的长度,因此需要使用split()函数将字符串按空格分割成单词列表,然后选取最后一个单词,使用Python内置函数len()求取该单词长度。
3、输出结果。最后,我们将求解所得最后一个单词长度输出,即为题目所要求的答案。
以下是Python实现代码:
```python
# 输入字符串处理
str1 = input().strip()
# 找到最后一个单词
word_list = str1.split()
last_word = word_list[-1]
# 输出结果
print(len(last_word))
```
当然,这只是一种实现方式,根据实际情况,也可以使用其他的Python语言特性或者库函数来实现此题目的要求。
相关问题
华为od机试真题 c++ 实现【字符串重新排列
题目描述:
给定一个字符串,将其中的小写字母和大写字母分别重新排列,使得所有的小写字母都排在大写字母的前面。
解题思路:
本题的思路比较简单,我们只需要遍历整个字符串,将其中的小写字母和大写字母分别存入两个数组中,然后将它们依次拼接起来就可以了。
具体步骤如下:
1. 定义两个数组,分别用于存放小写字母和大写字母。
2. 遍历字符串,将其中的小写字母存入小写字母数组中,将其中的大写字母存入大写字母数组中。
3. 将小写字母数组和大写字母数组依次拼接起来,并将拼接后的字符串输出即可。
代码实现:
#include <stdio.h>
#include <string.h>
int main()
{
char str[100]; //定义字符串
char lower[100], upper[100]; //定义存放小写字母和大写字母的数组
int i, j=0, k=0; //i为循环变量,j和k分别用于记录小写字母数组和大写字母数组中的元素个数
printf("请输入字符串:");
scanf("%s", str); //输入字符串
for(i=0; i<strlen(str); i++) //遍历字符串
{
if(str[i]>='a' && str[i]<='z') //如果是小写字母
{
lower[j] = str[i]; //将它存入小写字母数组中
j++;
}
else if(str[i]>='A' && str[i]<='Z') //如果是大写字母
{
upper[k] = str[i]; //将它存入大写字母数组中
k++;
}
}
lower[j] = '\0'; //在小写字母数组最后加上'\0',表示字符串结束
upper[k] = '\0'; //在大写字母数组最后加上'\0',表示字符串结束
strcat(lower, upper); //将小写字母数组和大写字母数组依次拼接起来
printf("重新排列后的字符串为:%s\n", lower); //输出拼接后的字符串
return 0;
}
2023华为od机试b卷【增强字符串】
题目要求编写一个函数,对于给定的字符串s,将相邻重复的字符用它们的个数和字符本身表示。
例如,给定字符串s = "aaabbbccc",函数应该返回字符串"3a3b3c"。
要解决这个问题,我们可以使用两个指针来遍历字符串。一个指针指向当前字符,另一个指针用来记录重复字符的个数。当遇到不同的字符或遍历到字符串末尾时,将重复字符的个数和字符本身添加到结果字符串中。
具体步骤如下:
1. 初始化一个空字符串result,用来存放结果。
2. 设置两个指针,一个指向当前字符指针cur,一个用来记录重复字符的指针count,初始值为1。
3. 从第二个字符开始,遍历整个字符串。
4. 如果当前字符等于前一个字符,则将count加1。
5. 如果当前字符不等于前一个字符,则将重复字符的个数count和前一个字符添加到result中,并将count重置为1。
6. 遍历结束后,将最后一个字符和重复字符的个数count添加到result中。
7. 返回结果字符串result。
以下是具体的实现代码:
```python
def enhance_string(s):
result = ""
cur = 0
count = 1
for i in range(1, len(s)):
if s[i] == s[cur]:
count += 1
else:
result += str(count) + s[cur]
cur = i
count = 1
result += str(count) + s[cur]
return result
```
测试样例:
```python
s = "aaabbbccc"
print(enhance_string(s)) # 输出"3a3b3c"
```
通过以上步骤,我们可以成功地将字符串中的相邻重复字符替换为它们的个数和字符本身。
相关推荐















