力扣刷题---返回word中所有不重复的单词


当需要从一个数据集合中去除重复元素时,set是一个很好的选择。由于其不允许存储重复的元素,因此可以很容易地实现去重功能。这在处理原始数据或进行数据分析时特别有用。

题目:

给定一个字符串数组 words,请返回一个由 words 中所有不重复单词组成的列表,并按字母顺序排序。

示例:

输入:words = ["apple", "banana", "apple", "orange", "banana", "kiwi"]

输出:["apple", "banana", "kiwi", "orange"]

解释:去重后并按字母顺序排序得到的单词列表是 ["apple", "banana", "kiwi", "orange"]。

解题思路:
1创建一个空的 set 对象,用于存储不重复的单词。
2遍历字符串数组 words,将每个单词插入到 set 中。由于 set 会自动去重,并对单词排序。
3将 set 中的单词转换为一个 vector 对象。
4返回排序后的 vector 对象作为最终结果。

cpp 复制代码
#include <iostream>  
#include <vector>  
#include <set>   
#include <string>  
using namespace std;

void UniqueWords(vector<string>& v) {
	set<string> s(v.begin(), v.end());        // 利用set去重并自动排序  
	v = vector<string>{ s.begin(), s.end() }; // 将set中的单词复制到v中  
}

int main() {
	vector<string> v = { "apple", "banana", "apple", "orange", "banana", "kiwi" };
	UniqueWords(v);

	for (const auto & x : v) { //显示结果
		cout << x << " ";
	}
	cout << endl;

	return 0;
}
相关推荐
X journey4 分钟前
机器学习实践(18.5):特征工程补充
人工智能·算法·机器学习
LG.YDX18 分钟前
笔试训练48天:mari和shiny(动态规划 - 线性dp)
数据结构·算法
m0_5648768418 分钟前
提示词应用
深度学习·学习·算法
qq_2837200521 分钟前
Transformer 高频面试题及答案
算法·面试·transformer
承渊政道21 分钟前
【递归、搜索与回溯算法】(floodfill算法:从不会做矩阵题,到真正掌握搜索扩散思想)
数据结构·c++·算法·leetcode·矩阵·dfs·bfs
谭欣辰23 分钟前
字典树:高效字符串处理利器
c++·算法
俺爱吃萝卜36 分钟前
Java 性能调优实战:从 JVM 内存模型到垃圾回收算法优化
java·jvm·算法
鹿角片ljp1 小时前
LeetCode215: 数组中的第K个最大元素 —— 从快速选择到堆排
算法·排序算法
weixin_416660071 小时前
原创分享:Markdown 转 Word 工具,一键导出Word/PDF文档
pdf·word·latex·deepseek
天若有情6731 小时前
用动态规划思路,一步一步实现响应式数据(从本质到落地)
算法·动态规划·代理模式