分享思路
查看原帖
分享思路
1538946
UGIWBGS楼主2024/11/11 11:16

虽然题解都在说水,但是没有一个好的思路还是很头疼的(我自己)。 思路就是看前一位是不是连号,是的话就跳,不是连着的就加;只要注意i-1不越界就行。 希望对你们有帮助

    for (int i = 0; i < strlen(str); i++) {
        switch(str[i]){
            case 'b':boy++;break;
            case 'o':if(i-1>=0&&str[i-1]!='b')boy++;break;
            case 'y':if(i-1>=0&&str[i-1]!='o')boy++;break;
            case 'g':girl++;break;
            case 'i':if(i-1>=0&&str[i-1]!='g')girl++;break;
            case 'r':if(i-1>=0&&str[i-1]!='i')girl++;break;
            case 'l':if(i-1>=0&&str[i-1]!='r')girl++;break;
            default:break;
        }
    }
2024/11/11 11:16
加载中...