zoukankan      html  css  js  c++  java
  • 笔记

    【问题描述】
    小 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
    */
     
     
     
  • 相关阅读:
    Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 1
    架构-MVVM:MVVM核心概念
    架构-MVVC:百科
    架构:目录
    架构:template
    JavaScript-Tool:Ext JS
    JavaScript-Tool:jquery.tree.js-un
    JavaScript-Tool:wdtree
    C#:C# 运算符
    C#:目录
  • 原文地址:https://www.cnblogs.com/chen-1/p/11778694.html
Copyright © 2011-2022 走看看