字符串练习

链接:https://www.nowcoder.com/acm/contest/70/A
来源:牛客网

题目描述

定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。
比如说,47、744、4都是幸运数字而5、17、467都不是。
现在,给定一个字符串s,请求出一个字符串,使得:
1、它所代表的整数是一个幸运数字;
2、它非空;
3、它作为s的子串(不是子序列)出现了最多的次数(不能为0次)。
请求出这个串(如果有多解,请输出字典序最小的那一个)。

输入描述:

串s(1 <= |s| <= 50)。s只包含数字字符,可以有前导零。

输出描述:

一个串表示答案。
无解输出-1。
示例1

输入

047

输出

4
示例2

输入

16

输出

-1
#include<bits/stdc++.h>
using namespace std;
typedef long long  ll;
const int maxn = 1000000;
const int moder = 1000000;

int main()
{
    char s[100];
    scanf("%s",s);
    int len=strlen(s);
    int a=0,b=0;
    for(int i=0;i<len;i++)
    {
        if(s[i]=='4') a++;
        if(s[i]=='7') b++;
    }
    if(!a&&!b) puts("-1");
    else if(a>=b) puts("4");
    else puts("7");
    return 0;
}

——

原文地址:https://www.cnblogs.com/cunyusup/p/8586324.html