函数fun()接收一个任意字符串s,要求返回其中只出现1次的字符组成的新字符串,每个字符保持原来的相对顺序。 例如,s为'Beautiful is better than ugly' 输出为:Bfsbrhngy
时间: 2024-11-04 22:15:10 浏览: 10
函数`fun()`可以采用哈希表的方式来解决这个问题。首先遍历输入字符串`s`,对于每一个字符,如果它不在哈希表中,则添加到结果字符串和哈希表中;如果已经在哈希表中,说明该字符出现了多次,就从结果字符串中移除。最后返回包含唯一一次出现字符的新字符串。
以下是Python的一个简单实现:
```python
def fun(s):
count_dict = {}
result = ''
for char in s:
if char not in count_dict:
count_dict[char] = 1
result += char
else:
count_dict[char] += 1
return ''.join(char for char in result if count_dict[char] == 1)
# 测试示例
s = 'Beautiful is better than ugly'
output = fun(s)
print(output) # 输出:Bfsbrhngy
```
相关问题
不用集合的方式写出函数fun()接收一个任意字符串s,要求返回其中只出现1次的字符组成的新字符串,每个字符保持原来的相对顺序。 例如,s为'Beautiful is better than ugly' 输出为:Bfsbrhngy
你可以使用一个哈希表来记录每个字符出现的次数,同时遍历原字符串。遇到新出现的字符就添加到结果字符串,并更新哈希表。当遇到已经存在并且计数为1的字符时,也添加到结果并从哈希表中删除。以下是Python语言的一个解决方案:
```python
def fun(s):
char_count = {}
result = ""
for char in s:
if char not in char_count:
char_count[char] = 1
else:
char_count[char] += 1
if char_count[char] == 1:
result += char
return result
# 测试例子
s = "Beautiful is better than ugly"
output = fun(s)
print(output) # 输出:Bfsbrhngy
```
在这个函数中,`char_count` 字典存储了字符及其出现次数,`result` 变量用于构建最终的新字符串。
本程序包括2个函数和主程序: 1 函数get_unique(text): 求字符串text中的唯一字符,返回唯一字符。如果没有唯一字符则返回None,如果有多个唯一字符则返回按字母序排列的第一个唯一字符 2. 函数fun: 接收可变数量的字符串作为参数,获取每个字符串中的唯一字符,函数返回一个字典,字典中的key是各个字符串,value是唯一字符。 如果字符串没有唯一字符,则该字符串不被包含在字典中。如果字符串有多个唯一字符,则取按字母序排列的第一个唯一字符。 字典中的顺序按照输入字符串的顺序排列。 3. 主程序: 主程序有3次输入。每次在一行中输入若干个字符串,且保证没有重复的字符串。调用该函数fun后,输出函数fun返回的字典。
理解了您的问题,以下是代码实现:
```python
def get_unique(text):
d = {}
for i in text:
if i in d:
d[i] += 1
else:
d[i] = 1
unique_char = [k for k,v in d.items() if v == 1]
if len(unique_char) == 0:
return None
elif len(unique_char) == 1:
return unique_char[0]
else:
return sorted(unique_char)[0]
def fun(*args):
result = {}
for text in args:
unique_char = get_unique(text)
if unique_char is not None:
result[text] = unique_char
return result
input1 = input().split()
input2 = input().split()
input3 = input().split()
result = fun(*input1, *input2, *input3)
print(result)
```
您可以将代码复制到 Python 环境中运行,然后按照要求输入字符串。该程序会将输入的字符串作为参数传递给函数 `fun`,并输出函数的返回值,即包含唯一字符的字典。
阅读全文