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(i?ni?),即數組 arr\textit{arr}arr 中字符串長度總和,其中 nin_ini?為字符串 arr[i]\textit{arr}[i]arr[i] 的長度。即為維護頻數哈希表和尋找第 k 個獨一無二的字符串的時間復雜度。

  • 空間復雜度:O(∑ini)O(\sum_i n_i)O(i?ni?),即為哈希集合的空間開銷。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389875.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389875.shtml
英文地址,請注明出處:http://en.pswp.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