在输入的字符串中打印第一个只出现一次的字符
时间: 2024-05-13 11:14:14 浏览: 92
可以使用哈希表来实现,在第一次遍历字符串时统计每个字符出现的次数,然后再遍历一次字符串找到第一个出现次数为 1 的字符。
以下是使用 Python 实现的代码:
```python
def print_first_unique_char(string):
# 统计每个字符出现的次数
char_count = {}
for c in string:
char_count[c] = char_count.get(c, 0) + 1
# 找到第一个出现次数为 1 的字符
for c in string:
if char_count[c] == 1:
print(c)
return
# 没有出现次数为 1 的字符
print("No unique character found")
# 测试代码
print_first_unique_char("abaccdeff") # 打印 'b'
print_first_unique_char("aabbcc") # 打印 'No unique character found'
```
相关问题
用python写在输入的字符串中打印出第一个只出现一次的字符,并指出它的位置的代码
好的,以下是 Python 的代码实现:
```python
s = input("请输入字符串:")
char_dict = {}
for i, char in enumerate(s):
if char in char_dict:
char_dict[char] = -1
else:
char_dict[char] = i
result = [(k, v) for k, v in char_dict.items() if v != -1]
if not result:
print("字符串中没有只出现一次的字符")
else:
result.sort(key=lambda x: x[1])
print("第一个只出现一次的字符是:", result[0][0], ",位置在:", result[0][1])
```
代码解释:
首先,我们输入一个字符串 `s`。
然后,我们遍历这个字符串,将每个字符作为字典的键,其出现的位置作为字典的值。如果这个字符已经在字典中出现过,则将其值改为 -1。
接着,我们筛选出字典中值不为 -1 的键值对,即只出现一次的字符,并将其存储在列表 result 中。
如果 result 为空,说明字符串中没有只出现一次的字符,直接输出提示信息。
否则,我们对 result 按照其值(即字符出现的位置)进行排序,并输出第一个元素的键值和值,即第一个只出现一次的字符和其位置。
先输入n个字符串,然后再输入一个查找字符串,打印出最后一个字符串是前n个中第几个被输入的。(如果出现相同的只打印第一次是第几个被输入的),如果不在前n个中则返回-1。
这是一个编程题目,通常需要使用动态规划或者类似的数据结构来解决。以下是Python的一个简单示例:
```python
def find_string_in_sequence(strings, target):
index_dict = {} # 创建一个字典,存储每个字符串及其索引
for i, string in enumerate(strings): # 遍历输入的n个字符串
if string not in index_dict: # 如果字符串还没出现过
index_dict[string] = i # 添加到字典并记录其首次出现的索引
if target in index_dict: # 查找目标字符串是否存在于字典中
return index_dict[target] # 返回目标字符串首次出现的位置
else:
return -1 # 如果未找到,则返回-1表示不在序列中
# 示例用法
strings = ["apple", "banana", "cherry", "date"]
target = "cherry"
print(find_string_in_sequence(strings, target)) # 输出:2
```
在这个例子中,我们首先遍历所有输入的字符串,将它们作为键添加到`index_dict`中,并记录每个字符串首次出现的索引位置。然后我们检查目标字符串是否在字典中,如果有,就返回对应的索引;如果没有,返回-1。
阅读全文