原题如下:
1639. K-Substring with K different characters
Given a string S and an integer K.
Calculate the number of substrings of length K and containing K different characters

Example
String: “abcabc”
K: 3

Answer: 3
substrings: [“abc”, “bca”, “cab”]
String: “abacab”
K: 3

Answer: 2
substrings: [“bac”, “cab”]

解法1:用到了deque, map和set,效率非常低。

class Solution {
public:/*** @param stringIn: The original string.* @param K: The length of substrings.* @return: return the count of substring of length K and exactly K distinct characters.*/int KSubstring(string &stringIn, int K) {deque<char> dq;map<char, int> mp;   //char, countset<deque<char>> s;int len = stringIn.size();for (int i = 0; i < len; ++i) {if (dq.size() == K) {char c = dq.front();dq.pop_front();if (mp[c] == 1)mp.erase(c);else mp[c]--;}    dq.push_back(stringIn[i]);   if (mp.find(stringIn[i]) == mp.end())mp[stringIn[i]] = 1;elsemp[stringIn[i]]++;if ((dq.size() == K) && (mp.size() == K)) {s.insert(dq);}}return s.size();}
};

LintCode 1639: K-Substring wth K different characters相关推荐

  1. classification_report进阶:针对top-k的结果计算precision@k、recall@k、f1-score@k

    sklearn自带的classification_report方法可以针对二分类或多分类问题,计算分类器的precision.recall和f1-score. 示例: from sklearn.met ...

  2. 两个排序数组合并第k或前k个最小值问题

    求最小一般用二分,求前最小一般用堆 偶尔看到一个问题,搜索了一些解法,用来存着 1.X[1..n] 和 Y[1..n]为两个数组,每个都包含n个已排好序的数.给出一个求数组X和Y中所有2n个元素的中位 ...

  3. C语言学习之求∑k(k=100)+∑K*k(k=50)+∑1/k(k=10)

    求∑k(k=100)+∑K*k(k=50)+∑1/k(k=10) #include <stdio.h> #include <math.h> void main(){double ...

  4. PyTorch搜索Tensor指定维度的前K大个(K小个)元素--------(torch.topk)命令参数详解及举例

    torch.topk 语法 torch.topk(input, k, dim=None, largest=True, sorted=True, *, out = None) 作用 返回输入tensor ...

  5. Given a list,rotate the list to right by k places, where k is nonegative.

    Given a list,rotate the list to right by k places, where k is nonegative. 给定一个列表,将列表向右旋转K个位置,其中K是非分隔 ...

  6. 电脑k歌,电脑K歌软件有哪些 5款热门K软件推荐

    现在喜欢K歌的朋友可不用再跑去KTV,只需家里有台电脑就可以了,您可以在电脑上下载各种各样的K歌软件,就可以在家里尽情的享受K歌的快乐,那么电脑K歌软件有哪些,下面小编就个大家推荐5款热门电脑K歌软件 ...

  7. 输入圆的的半径r 和一个整型数k,当k=1 时,计算圆的面积;当k=2 时,计算圆的周长;当k = 3 时,既要求求圆的周长也要求出圆的面积

     题目:输入圆的的半径r 和一个整型数k,当k=1 时,计算圆的面积:当k=2 时,计算圆的周 长:当k = 3 时,既要求求圆的周长也要求出圆的面积. 解析:输入半径r和整型数k,由题目分析的,由于 ...

  8. 洗牌-牛客 第一行一个数T(T ≤ 100),表示数据组数。对于每组数据,第一行两个数n,k(1 ≤ n,k ≤ 100),接下来一行有2n个数a1,a2,...,a2n(1 ≤ ai ≤ 1000

    题目描述: 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程. 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张.首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上 ...

  9. 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1=k=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个

    问题为:设编号为1,2,- n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出 ...

最新文章

  1. android应用设计规范,未来的Android应用设计规范应如是
  2. 直播 | 帝国理工王剑虹:配电网中用多智能体强化学习进行的主动电压控制
  3. Linux静态暗Oracle,Oracle静态监听配置示例
  4. SOL注入——基干联合查询的POST注入(四)
  5. 我想要一种语言,只需对它说我要干什么就行
  6. Android view.settran,Android RecyclerView从入门到玩坏
  7. 微信支付携手云闪付APP上线支付立减新优惠
  8. 2种方式解决vue路由跳转未匹配相应路由避免出现空白页面或者指定404页面
  9. AlexNet卷积神经网络
  10. Object-c Associated Object
  11. FOREACH的遍历
  12. android布局性能,Android开发——布局性能优化的一些技巧(一)
  13. 思科模拟器之GNS3,GUI小凡的完美替代
  14. shiro原理_Shiro-实战(二)-身份认证
  15. linux下操作3G模块
  16. FSD062服务器电源维修,电磁炉开关电源FSD200维修经验
  17. 亚马逊内部文件泄露,程序员薪酬高达 462 万元
  18. 基于H.264的RTP打包原理和FU-A分片实例分析
  19. Cesium(六)淹没分析(polygon版本)
  20. C++ 面试宝典 - 知识点集锦

热门文章

  1. 蓝库云:建立智慧零售,零代码技术能起到什么作用
  2. 数据可视化API之轨迹图实现
  3. 什么是犯罪群体?(34)
  4. PSO 粒子群优化算法 大整理
  5. 逻辑地址、线性地址和物理地址的关系
  6. 【C#】WPF和winform窗体贴边隐藏(类似QQ)
  7. 王珊数据库系统概论第5版教材精讲考研真题串讲视频
  8. arduino控制震动传感器
  9. CH900无线电监测接收机综合指标参数
  10. Git相关的一些基础操作与命令