2053. 数组中第 K 个独一无二的字符串

2053. 数组中第 K 个独一无二的字符串

独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串。

给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独一无二的字符串 。如果 少于 k 个独一无二的字符串,那么返回 空字符串 “” 。

注意,按照字符串在原数组中的 顺序 找到第 k 个独一无二字符串。

示例 1:
输入:arr = ["d","b","c","b","c","a"], k = 2
输出:"a"
解释:
arr 中独一无二字符串包括 "d" 和 "a" 。
"d" 首先出现,所以它是第 1 个独一无二字符串。
"a" 第二个出现,所以它是 2 个独一无二字符串。
由于 k == 2 ,返回 "a" 。示例 2:
输入:arr = ["aaa","aa","a"], k = 1
输出:"aaa"
解释:
arr 中所有字符串都是独一无二的,所以返回第 1 个字符串 "aaa" 。示例 3:
输入:arr = ["a","b","a"], k = 3
输出:""
解释:
唯一一个独一无二字符串是 "b" 。由于少于 3 个独一无二字符串,我们返回空字符串 "" 。

提示:

  • 1 <= k <= arr.length <= 1000
  • 1 <= arr[i].length <= 5
  • arr[i] 只包含小写英文字母。

解题思路

使用map维护字符串以及其在数组中出现次数的关系,再次遍历数组,找出只出现一次的字符串,并且找出第k个出现次数为1次的字符串,如果出现次数小于1的字符串的个数小于k,则返回一个空串。

代码

class Solution {
public:string kthDistinct(vector<string>& arr, int k) {map<string,int> m;for (int i = 0; i < arr.size(); ++i) {m[arr[i]]++;}for (int i = 0; i < arr.size(); ++i) {if (m[arr[i]]==1&&--k==0)return arr[i];}return "";}
};
  • 时间复杂度:O(∑ini)O(\sum_i n_i)O(ini),即数组 arr\textit{arr}arr 中字符串长度总和,其中 nin_ini为字符串 arr[i]\textit{arr}[i]arr[i] 的长度。即为维护频数哈希表和寻找第 k 个独一无二的字符串的时间复杂度。

  • 空间复杂度:O(∑ini)O(\sum_i n_i)O(ini),即为哈希集合的空间开销。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云对数据可靠性保障的一些思考

背景互联网时代的数据重要性不言而喻&#xff0c;任何数据的丢失都会给企事业单位、政府机关等造成无法计算和无法弥补的损失&#xff0c;尤其随着云计算和大数据时代的到来&#xff0c;数据中心的规模日益增大&#xff0c;环境更加复杂&#xff0c;云上客户群体越来越庞大&…

linux实验二

南京信息工程大学实验报告 实验名称 linux 常用命令练习 实验日期 2018-4-4 得分指导教师 系 计软院 专业 软嵌 年级 2015 级 班次 &#xff08;1&#xff09; 姓名王江远 学号20151398006 一、实验目的 1. 掌握 linux 系统中 shell 的基础知识 2. 掌握 linux 系统中文件系统的…

个人项目api接口_5个免费有趣的API,可用于学习个人项目等

个人项目api接口Public APIs are awesome!公共API很棒&#xff01; There are over 50 pieces covering APIs on just the Towards Data Science publication, so I won’t go into too lengthy of an introduction. APIs basically let you interact with some tool or servi…

5918. 统计字符串中的元音子字符串

5918. 统计字符串中的元音子字符串 子字符串 是字符串中的一个连续&#xff08;非空&#xff09;的字符序列。 元音子字符串 是 仅 由元音&#xff08;‘a’、‘e’、‘i’、‘o’ 和 ‘u’&#xff09;组成的一个子字符串&#xff0c;且必须包含 全部五种 元音。 给你一个字…

咕泡-模板方法 template method 设计模式笔记

2019独角兽企业重金招聘Python工程师标准>>> 模板方法模式&#xff08;Template Method&#xff09; 定义一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤Template Me…

如何评价强gis与弱gis_什么是gis的简化解释

如何评价强gis与弱gisTL;DR — A Geographic Information System is an information system that specializes in the storage, retrieval and display of location data.TL; DR — 地理信息系统 是专门从事位置数据的存储&#xff0c;检索和显示的信息系统。 The standard de…

clone-graph

1. clone-graph Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. 思路&#xff1a;dfs&#xff0c;其实就是递归。 1 /**2 * Definition for undirected graph.3 * struct UndirectedGraphNode {4 * int label;5 * …

5919. 所有子字符串中的元音

5919. 所有子字符串中的元音 给你一个字符串 word &#xff0c;返回 word 的所有子字符串中 元音的总数 &#xff0c;元音是指 ‘a’、‘e’、‘i’、‘o’ 和 ‘u’ 。 子字符串 是字符串中一个连续&#xff08;非空&#xff09;的字符序列。 注意&#xff1a;由于对 word …

Scrum冲刺-Ⅳ

第四次冲刺任务 团队分工 成员&#xff1a;刘鹏芝&#xff0c;罗樟&#xff0c;王小莉&#xff0c;沈兴艳&#xff0c;徐棒&#xff0c;彭康明&#xff0c;胡广键 产品用户&#xff1a;王小莉 需求规约&#xff1a;彭康明&#xff0c;罗樟 UML&#xff1a;刘鹏芝&#xff0c;沈…

Github入门详情教程

前言 之前我写了一篇文章《一篇文章了解Github和Git教程》还延伸了几篇阅读&#xff0c;对大部分小白很有用&#xff0c;那么我继续普及下Github页面及其概念。 定义 GitHub 是一个网站&#xff0c;一个面向开源及私有软件项目的托管平台&#xff0c;因为只支持Git作为唯一的版…

机器人影视对接_机器学习对接会

机器人影视对接A simple question like ‘How do you find a compatible partner?’ is what pushed me to try to do this project in order to find a compatible partner for any person in a population, and the motive behind this blog post is to explain my approach…

Android系统启动系列----init进程

Android系统启动系列 Android系统启动系列----init进程Android系统启动系列----Zygote进程引言 在开发app的过程中&#xff0c;是不是会有疑问&#xff1a; java程序的运行不是从main方法开始么&#xff0c;怎么app入口是Application的onCreate方法&#xff1f;那java的运行环境…

598. 范围求和 II

598. 范围求和 II 给定一个初始元素全部为 0&#xff0c;大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示&#xff0c;其中的每个操作用一个含有两个正整数 a 和 b 的数组表示&#xff0c;含义是将所有符合 0 < i < a 以及 0 < j < b 的元…

mysql 数据库优化之执行计划(explain)简析

数据库优化是一个比较宽泛的概念&#xff0c;涵盖范围较广。大的层面涉及分布式主从、分库、分表等&#xff1b;小的层面包括连接池使用、复杂查询与简单查询的选择及是否在应用中做数据整合等&#xff1b;具体到sql语句执行效率则需调整相应查询字段&#xff0c;条件字段&…

自我接纳_接纳预测因子

自我接纳现实世界中的数据科学 (Data Science in the Real World) Students are often worried and unaware about their chances of admission to graduate school. This blog aims to help students in shortlisting universities with their profiles using ML model. The p…

距离产生美

那天下午我跟简坐在学校操作草地上聊天 夕阳的余晖照射着我们 阳光在青草的缝隙间拉长了倒影 温暖的晚风轻拂着简刘海前的几根发丝 淡淡的发香迎面扑来&#xff0c;我望着远山上的烟囱。 对简说&#xff1a; 我觉得我们坐得太近了。感觉相距 50cm 比较好。 简一脸惊讶说&#x…

299. 猜数字游戏

299. 猜数字游戏 你在和朋友一起玩 猜数字&#xff08;Bulls and Cows&#xff09;游戏&#xff0c;该游戏规则如下&#xff1a; 写出一个秘密数字&#xff0c;并请朋友猜这个数字是多少。朋友每猜测一次&#xff0c;你就会给他一个包含下述信息的提示&#xff1a; 猜测数字…

mysql数据库中case when 的用法

场景1&#xff1a;比如说我们在数据库存了性别的字段&#xff0c;一般都是存0 和 1 代表男和女 然后我们会得到0和1之后在java中判断 &#xff0c;很麻烦有么有&#xff1f;其实我们完全可以在sql中判断好之后拿来现成的。就是在sql中做判断就ok SELECT*,CASEWHEN ly app th…

python中knn_如何在python中从头开始构建knn

python中knnk最近邻居 (k-Nearest Neighbors) k-Nearest Neighbors (KNN) is a supervised machine learning algorithm that can be used for either regression or classification tasks. KNN is non-parametric, which means that the algorithm does not make assumptions …

CRT配色

http://a0bd2668.wiz03.com/share/s/2wLipE0wJ4Wl28H1oC2BIvEv02vmgz3S_QjT2YHyWG2t2nng转载于:https://blog.51cto.com/13420391/2164540