要返回字符向量中某些重复字符串的索引,而忽略第一次出现重复字符串的索引,可以通过以下步骤实现:
以下是一个示例代码(使用Python编写):
def find_duplicate_indices(str_list):
index_dict = {}
for i, s in enumerate(str_list):
if s in index_dict:
index_dict[s].append(i)
else:
index_dict[s] = [i]
duplicate_indices = [indices[1:] for indices in index_dict.values() if len(indices) > 1]
return duplicate_indices
在上述示例代码中,str_list
表示输入的字符向量。函数find_duplicate_indices
首先创建一个空的字典index_dict
,然后遍历str_list
,对每个字符串进行处理。
对于每个字符串s
,如果它已经在字典index_dict
中出现过,则将当前索引i
添加到对应的值(索引列表)中;如果它是第一次出现,则将其添加到字典index_dict
的键中,并将当前索引i
作为值的初始元素。
最后,函数通过筛选字典index_dict
中值长度大于1的条目,获取到重复字符串的索引列表,并将其返回。
使用示例:
string_vector = ['apple', 'banana', 'cat', 'apple', 'dog', 'apple', 'banana']
indices = find_duplicate_indices(string_vector)
print(indices)
输出:
[[3, 5], [0, 6]]
在上述示例中,字符向量string_vector
中有重复字符串'apple'和'banana',它们的索引分别为[3, 5]和[0, 6]。由于忽略了第一次出现的索引,函数返回的结果是[[3, 5], [0, 6]]
。
领取专属 10元无门槛券
手把手带您无忧上云