ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

笔记

2019-11-01 18:57:42  阅读:226  来源: 互联网

标签:文字 int 笔记本 笔记 字符串 记下 记笔记


【问题描述】 小 N 是一个很萌很萌的爱记笔记的好孩子,他又准备在他的笔记本上记下一些文字 了。小 N 希望将这些文字按顺序记在他的笔记本上:假设笔记本的每一页都不限字数,且 他在记下每个字后都可以选择翻到下一页。小 N 有一个奇怪的习惯,笔记本的每一页中都 不能出现重复的字母。小 N 想知道,他最少记多少页笔记,才能按顺序记下全部文字? 【输入】 第一行包含一个仅由小写字母组成的字符串 S,表示小 N 希望记下的文字。 【输出】 一行一个整数,表示小 N 记笔记的最少页数。 【输入输出样例】 note.in fsfhztctwzj      note.out 3 【数据范围】 对于 40%的数据:1 ≤ |S| ≤ 10。 对于 70%的数据:1 ≤ |S| ≤ 501。 对于 100%的数据:1 ≤ |S| ≤ 525010。   题解:   【读题】 可以抽象为:给定一个字符串,将此串分成尽量少的部分,并使每一部分都没有重复字母。   【样例解释】 fs//fhztc//twzj   【思路】 对一个字符串,从第一个到最后一个枚举,每当有重复字母,ans++, 并memset一下记录数组  

时间复杂度O(n)

期望得分:100

  代码:
#include<bits/stdc++.h>
using namespace std;
int ans=1;
string a;
bool flag[155];
int main()
{
    cin>>a;
    int len=a.length();
    for(int i=0;i<len;i++)
    {
        if(flag[a[i]])
        {
            ans++;
            memset(flag,0,sizeof(flag));
        }
        flag[a[i]]=1;
    }
    printf("%d",ans);
    return 0;
} 
/*
fsfhztctwzj
*/

 

     

标签:文字,int,笔记本,笔记,字符串,记下,记笔记
来源: https://www.cnblogs.com/chen-1/p/11778694.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有