| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2403 人关注过本帖
标题:一道算法题
取消只看楼主 加入收藏
codeooo
Rank: 2
等 级:论坛游民
帖 子:25
专家分:15
注 册:2018-7-26
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:4 
一道算法题
跪求大佬解决。。。。
题目是这样的:给定一字符串S,S非空,由小写字母组成,设v为S中元音字母的个数,c为辅音字母的个数。"a", "e", "i", "o", "u"为元音字母。其余为辅音字母。如果元音字母没有超过辅音字母的2倍,即v≤2c则称S是好的字符串。

现在给定S,找出其中最长的好的子串的长度,以及个数。子串是由原串中连续的几个字符组成的。

下面是我写的代码。。。。大多都AC了可还是有几个显示超时了。。附件里面有一个我通过不了的输入。。它的输出是66 23988
51nod_1701_6_in.rar (90.63 KB)

程序代码:
#include <cmath>
#include <vector>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;

int main() {
    string a;
    cin >> a;
    int lnum = 0;
    int n = 0;
    int inum,bnum;
    for(int i = 0; i < a.size();i++)
    {
        inum = bnum =0;
        for(int j = i; j < a.size();j++){
            switch(a[j]){
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                inum++;
                break;
                default:
                bnum++;
                break;
            }
            if(inum <= 2 * bnum){
                if(j+1-i > n){
                    n  = j+1-i;
                    lnum = 0;
                }
                if(j+1-i == n){
                lnum++;
            }
            }
        }
    }
    if(lnum == 0){
        cout << "No solution" <<endl;
    }
    else{
        cout << n <<" "<< lnum <<endl;
    }
    
    return 0;
}

搜索更多相关主题的帖子: 字母 个数 include int case 
2019-03-15 16:19
codeooo
Rank: 2
等 级:论坛游民
帖 子:25
专家分:15
注 册:2018-7-26
收藏
得分:0 
回复 2楼 rjsp
呃。。。当初想的是还要跳转链接会麻烦别人就没有弄了。。。
2019-03-16 10:39
codeooo
Rank: 2
等 级:论坛游民
帖 子:25
专家分:15
注 册:2018-7-26
收藏
得分:0 
回复 3楼 rjsp
是还要加一个独立的数组来解决计数问题吗?
2019-03-16 10:41
codeooo
Rank: 2
等 级:论坛游民
帖 子:25
专家分:15
注 册:2018-7-26
收藏
得分:0 
回复 8楼 rjsp
正确的输出是23988,然鹅我算的是480.。。。。。。
很抱歉昨天忘记看帖子没有及时回复
2019-03-19 10:40
codeooo
Rank: 2
等 级:论坛游民
帖 子:25
专家分:15
注 册:2018-7-26
收藏
得分:0 
回复 6楼 zolin
兄弟,你这个固定数组长度。。。不太行吧。。。。。。。但还是非常感谢

[此贴子已经被作者于2019-3-19 10:51编辑过]

2019-03-19 10:49
快速回复:一道算法题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017991 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved