【华为上机真题 2022】停车场车辆统计
创始人
2024-03-14 23:56:49
0

🎈 作者:Linux猿

🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

🎈 关注专栏: 数据结构和算法成神路【精讲】优质好文持续更新中……🚀🚀🚀

🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


目录

一、题目描述

1.1 输入描述

1.2 输出描述

1.3 测试样例

1.3.1 示例 1

1.3.2 示例 2

二、解题思路

三、代码实现

四、时间复杂度


 注意:题目来源于网络用户分享,本文仅分享做题思路和方法,如有侵权请联系我删除!

一、题目描述

特定大小的停车场,用数组 cars[ ] 表示,其中 1 表示有车,0 表示没车。车辆大小不一,小车占一个车位(长度 1),货车占两个车位(长度 2),卡车占 3 个车位(长度 3 ),统计停车场最少可以停多少辆车,返回具体的数目。

1.1 输入描述

整形字符串数组 cars[ ],其中 1 表示有车,0 表示没车,数组长度小于 1000。

1.2 输出描述

整型数字字符串,表示最少停车数目。

1.3 测试样例

1.3.1 示例 1

输入

1,0,1

输出

2

说明:第一个位置放小车,第三位置放小车。

1.3.2 示例 2

输入

1,1,0,0,1,1,1,0,1

输出

3

说明:第 1,2 个位置停货车,第 5,6,7 个位置停卡车,最后个位置停小车。

二、解题思路

本题比较简单,题目要求是统计最少可以停多少量车,那么,分配车的时候需要先分配卡车,不能放卡车才考虑货车或小车。

按照这个思路:统计连续字符 1 的个数,优先分配卡车,不足的再分配货车或小车,只需要遍历一次即可计算出最少停放的车辆。

三、代码实现

代码实现如下所示。

#include using namespace std;int main()
{string str;while (cin>>str) {int num = 0;int ans = 0;int n = str.size();for (int i = 0; i < n; ++i) {if (str[i] == '0') {if (num) {num = 0;ans++;}} else if (str[i] == '1') {num++;if (num == 3) {num = 0;ans++;}}}if (num) ans++;cout<

四、时间复杂度

时间复杂度:O(n)

在上述代码中,n 表示字符串的长度,通过一次 for 循环遍历即可计算出停车的数目。


🎈 感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞


相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...