• Leetcode 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] 只包含小写英文字母。

    Code:

    class Solution {
    public:
        string kthDistinct(vector<string>& arr, int k) {
            map<string,int>mymap;
        
            for(int i=0;i<arr.size();i++)
            {
                mymap[arr[i]]++;
            }
            int cnt=0;
            for(int i=0;i<arr.size();i++)
            {
                if(mymap[arr[i]]==1)
                {
                    cnt++;
                    if(cnt==k)
                        return arr[i];
                }
            }
            return "";
        }
    };
    
  • 相关阅读:
    HTML简介(一)
    Bootstrap简介--目前最受欢迎的前端框架(一)
    命名空间--名称解析规则
    SpringMVC概述(2)
    MVC模型概述(1)
    Luogu P2831 【NOIP2016】愤怒的小鸟|DP
    【学习笔记】凸包
    【学习笔记】Floyd的妙用
    Luogu P2886 [USACO07NOV]牛继电器Cow Relays|最短路,倍增
    Luogu P5463 小鱼比可爱(加强版)|树状数组
  • 原文地址:https://www.cnblogs.com/xiaohai123/p/16343348.html
Copyright © 2020-2023  润新知