题解 | #小易喜欢的单词#

小易喜欢的单词

http://www.nowcoder.com/practice/ca7b8af83e2f4ec1af2f23d6733223b5

//关于两个子序列条件找到4个索引位置,比较即可

#include<iostream>
#include<stdio.h>
#include<map>
using namespace std;

int main(void)
{
    string str;
    cin>>str;
    
    map<char,int> mp;
    
    mp[str[0]]++;
    
    int len = str.size();
    
    int start1 = 0;
    int end1 = len%2==0?len/2-1:len/2-1;
    
    int start2 = len%2==0?len/2:len/2+1;
    int end2 = len-1;
    
    int one_1=-1;
    int one_2=-1;
    int two_1=-1;
    int two_2=-1;
    
    for(int i=start1;i<=end1;i++)
    {
        for(int j=start2;j<=end2;j++)
        {
            if(str[i]==str[j])
            {
                one_1=i;
                two_1=j;
            }
        }
    }
    
    if(one_1!=-1&&two_1!=-1)
    {
          for(int i=end1;i>=start1;i--)
        {
            for(int j=end2;j>=start2;j--)
        {
            if(str[i]==str[j])
            {
                one_2=i;
                two_2=j;
            }
        }
    }
        
    }
    
    if(one_1>one_2&&two_1>two_2)
    {
            cout<<"Dislikes";
            return 0;
    }
    
    for(int i=1;i<str.size();i++)
    {
        if(str[i]<'A'||str[i]>'Z')
        {
            cout<<"Dislikes";
            return 0;
        }
        
        if(str[i]==str[i-1])
        {
            cout<<"Dislikes";
            return 0;
        }
        
        mp[str[i]]++;
        
    }
    
    for(map<char,int>::iterator it=mp.begin();it!=mp.end();it++)
    {
        if(it->second>=4)
        {
            cout<<"Dislikes";
            return 0;
        }
    }
    
    cout<<"Likes";
    
    return 0;
}
全部评论

相关推荐

10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
在努力的外卷侠很靠谱:怎么,大家都没保底吗?我这美团已经入职了,不说了,系统派单了。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务