0
点赞
收藏
分享

微信扫一扫

2020牛客寒假算法基础集训营2——B.排数字【简单题】


​​题目传送门​​

题目描述

子串是连续的。
牛可乐 最喜爱的字符串是 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法

牛可乐得到了一个纯数字的字符串 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_02,他想知道在可以任意打乱 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_02 顺序的情况下,最多有多少个不同的子串为 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法

当两个子串 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_05 满足 2020牛客寒假算法基础集训营2——B.排数字【简单题】_#include_062020牛客寒假算法基础集训营2——B.排数字【简单题】_字符串_07

输入描述:

第一行,一个正整数 |S|,表示 S 的长度。
第二行,一个字符串 S,其字符集为 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}。
保证 2020牛客寒假算法基础集训营2——B.排数字【简单题】_字符串_08

输出描述:

输出一行,一个整数表示答案。

输入

11
11451419266

输出

1

说明

一种最优打乱方案为 “11451492616”,有一个子串为 “616” 。

题解

  • 2020牛客寒假算法基础集训营2——B.排数字【简单题】_子串_092020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_10
  • 要让2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_11 子串最多一定是 2020牛客寒假算法基础集训营2——B.排数字【简单题】_子串_12 ,这样后面的串可以用前面的 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_10 ,数量为 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_14 。(可以理解为前面一个 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_10 后面 2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_11循环)
  • 时间复杂度2020牛客寒假算法基础集训营2——B.排数字【简单题】_算法_17

AC-Code

#include <bits/stdc++.h>
using namespace std;

char s[200005]; int cnt[10], n;
int main() {
scanf("%d%s", &n, s);
for (int i = 0; i < n; ++i) ++cnt[s[i] - '0'];
cout << min(cnt[6] - 1, cnt[1]);
return 0;
}


举报

相关推荐

0 条评论