@PaulGuan
        
        2016-10-02T10:09:37.000000Z
        字数 585
        阅读 868
    Algorithm
一个可以有前导0的长度n (1<=n<=50) 的只带数字的字符串,判断其出现次数最多的幸运数字(只由4和7组成),出现次数相同就按字典序排序,输出出现次数最多的幸运数,如果没有包含幸运数字,输出-1。
虽然本题要求找出次数最多的幸运数字,但是,其实只用找4和7,因为其他的多位数幸运数字都包含4和7这两个幸运数字,例如出现了一次47477,那么出现了2次4和3次7,而且,多位数的幸运数字的字典序是大于4和7的,所以,输出只可能是在4,7和-1中的一个。
#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;string a;int main(void){cin>>a;int c4=0,c7=0;int i;for(i=0;i<a.size();i++){if(a[i]=='4')c4++;if(a[i]=='7')c7++;}if(c4>c7)cout<<"4"<<endl;else if(c4<c7)cout<<"7"<<endl;else if(c4==c7&&c4!=0)cout<<"4"<<endl;elsecout<<"-1"<<endl;return 0;}
