华为机考真题 -- 找座位

题目描述:

在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众必须间隔至少一个空位才允许落座。现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位的情况下,最多还能坐下多少名观众。

输入描述:

一个数组,用来标识某一排座位中,每个座位是否已经坐人。0表示该座位没有坐人,1表示该座位已经坐人,1 ≤ 数组长度 ≤ 10000

输出描述:

整数,在不移动现有观众座位的情况下,最多还能坐下多少名观众。

示例1:

输入

10001
输出

1

示例2:

输入

0101
输出

0

C++源码:

#include <iostream>
#include <string>
#include <vector>

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    while (true) {
        getline(cin, str);

        if (str == "\n") break;

        if (str.size() <= 2) {
            if (str.find('1') != string::npos) {
                cout << 0 << endl;
                break;
            }
            else {
                cout << 1 << endl;
                break;
            }
        }

        int count0 = 1, countN = 0;
        for (char s : str) {
            if (s == '0') {
                count0 += 1;
                if (count0 == 3) {
                    countN += 1;
                    count0 = 1;
                }
            }
            else {
                count0 = 0;
            }
        }

        if (str.back() != '1' && str.find('1') != string::npos) {
            size_t pos = str.rfind('1');
            string temp = str.substr(pos + 1);
            if (temp.size() % 2 == 0) {
                countN += 1;
            }
        }

        cout << countN << endl;
    }

    system("pause"); // 暂停程序,等待按键
    return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为OD机考真题是指华为公司在招聘过程中所使用的在线机考试题目。这些题目旨在评估应聘者的技术能力、逻辑思维以及解决问题的能力。以下是对华为OD机考真题解读的简要说明。 华为OD机考真题的内容丰富多样,主要涵盖计算机科学、网络技术、算法设计、数据结构等多个领域。对于应聘者来说,这些题目不仅要求具备扎实的专业知识,还要求能够将知识应用于实际场景中,并能够灵活运用、创新思考。 在解答华为OD机考真题时,应聘者需要具备良好的解题思路和方法。首先,应聘者需要仔细阅读题目,理解题意和要求,明确问题的关键点。其次,应聘者需要运用所学知识和技能分析问题,并制定解决方案。此时,良好的逻辑思维和分析能力是十分重要的。最后,应聘者需要将解决方案转化为具体的代码实现或解题步骤,并进行测试和验证。 华为OD机考真题的目的是为了筛选出具备优秀技术能力和解决问题能力的人才。在解题过程中,华为注重考察应聘者的创新能力和解决问题的能力,不仅关注结果,还关注解决问题的思路和方法。因此,应聘者在回答真题时除了要给出正确的答案,还需要展现出对问题的全面思考和独立思考的能力。 总之,华为OD机考真题的解答需要应聘者具备扎实的专业知识、良好的解题思路、逻辑思维能力和解决问题的能力。这些真题旨在筛选出具备创新思维和解决问题能力的优秀人才。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值