阿里9.16笔试

一共就ac了1.3,第二题只a了36%,第三题直接0,大火有ac的代码或者可以帮忙看看我第二题的代码嘛
#include <iostream>
using namespace std;

int main() {
    int t = 0;
    cin >> t;
    while (t--) {
        int n = 0;
        int flag = 0;
        cin >> n;
        char str1[200000];
        char str2[200000];
        cin >> str1 >> str2;
        for (int i = 0; i < n; ++i) {
                        // 如果相同位置的元素不相等
            if (str1[i] != str2[i]) {
                                // 如果是开头和结尾的元素不相等,直接输出NO
                if (i == 0 || i == n - 1) {
                    cout << "NO" << endl;
                    flag = 1;
                    break;
                                // 如果前一个元素和后一个元素相等,直接返回NO
                } else if (str1[i - 1] == str1[i + 1]) {
                    cout << "NO" << endl;
                    flag = 1;
                    break;
                                // 如果前一个元素和后一个元素相等,反转当前元素
                } else if (str1[i - 1] != str1[i + 1]){
                    if (str1[i] == '1')
                        str1[i] = '0';
                    else 
                        str1[i] = '1';
                }
            }
        }
                // 如果跑到了最后,输出YES
        if (flag == 0) {
            cout << "YES" << endl;        
        }
    }
    return 0;
}



#阿里笔试#
全部评论
判断一下两个字符串第一位是不是一样,不一样直接返回NO,可以加10%
1 回复 分享
发布于 2022-09-16 23:39 河南
最后一题用中位数过了94
点赞 回复 分享
发布于 2022-09-16 20:56 湖南
第二题遍历做的吧,不知道为啥我又反着遍历了一次,加到42%了
点赞 回复 分享
发布于 2022-09-16 21:02 山西
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复 分享
发布于 2022-09-19 12:21 北京

相关推荐

不愿透露姓名的神秘牛友
11-27 10:28
点赞 评论 收藏
分享
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
美团 后端开发 总包n(15%是股票)
点赞 评论 收藏
分享
评论
2
1
分享
牛客网
牛客企业服务