当前位置: 首页 > news >正文

【华为OD机试真题 C语言】8、停车场车辆统计 | 机试真题+思路参考+代码解析

文章目录

    • 一、题目
      • 🎃题目描述
      • 🎃输入输出
      • 🎃样例1
      • 🎃样例2
    • 二、思路参考
    • 三、代码参考
      • 🏆C语言
  • 作者:KJ.JK


🍂个人博客首页: KJ.JK
 
🍂专栏介绍: 华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用C语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习


一、题目


🎃题目描述

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


🎃输入输出

输入
整型字符串数组cars[],其中1表示有车,0表示没车,数组长度小于1000。
 
输出
整型数字字符串,表示最少停车数目


🎃样例1

输入
1,0,1输出
2说明:
1个小车占第1个车位,第二个车位空,1个小车占第3个车位,最少有两辆车

🎃样例2

输入
1,1,0,0,1,1,1,0,1输出
3说明:
1个货车占第12个车位,第34个车位空,1个卡车占第567个车位
第8个车位空,1个小车占第9个车位,最少3辆车

二、思路参考

读取输入的停车场数组,将其存储在字符数组 cars[] 中。
初始化停车数量 count 为 0。
遍历停车场数组,对每个车位进行以下处理:
如果当前车位为 1,表示有车辆:
如果下一个车位也为 1,则为卡车,将停车数量增加 1,并将当前位置向后移动两个车位。
否则,为货车或小车,将停车数量增加 1,并将当前位置向后移动一个车位。
如果当前车位为 0,表示没有车辆,则继续遍历下一个车位。
输出最少停车数量 count


三、代码参考


🏆C语言

#include <stdio.h>
#include <string.h>int main() {char cars[1000];int count = 0;// 读取输入的停车场数组char input[2000];fgets(input, sizeof(input), stdin);int length = strlen(input);// 解析输入的停车场数组int index = 0;for (int i = 0; i < length; i++) {if (input[i] == '0' || input[i] == '1') {cars[index] = input[i] - '0';index++;}}// 统计最少停车数目int size = index;int i = 0;while (i < size) {if (cars[i] == 1) {if (i + 2 < size && cars[i + 1] == 1 && cars[i + 2] == 1) {count++;i += 3;  // 卡车占据3个车位} else if (i + 1 < size && cars[i + 1] == 1) {count++;i += 2;  // 货车占据2个车位} else {count++;i++;  // 小车占据1个车位}} else {i++;}}// 输出结果printf("%d\n", count);return 0;
}

作者:KJ.JK

http://www.lryc.cn/news/93169.html

相关文章:

  • c++ MES 对接(XML、JSON、SOAP)
  • idea导入java web项目带jar
  • 【第55天|● 392.判断子序列 ● 115.不同的子序列 】
  • Dockerfile创建镜像
  • 基于 opencv 的人脸识别上课考勤系统,附源码,可作为毕业设计
  • .editorconfig 配置
  • Spring 高级依赖注入 —— Bean的延迟依赖查找功能,ObjectFactory 和 ObjectProvider
  • VSCode--Config
  • 代码随想录刷题第48天|LeetCode198打家劫舍、LeetCode213打家劫舍II、LeetCode337打家劫舍III
  • C# NTS 获取MuliiLineString中的所有线
  • CodeWhisperer插件使用体验
  • 机器学习笔记 - 多实例学习(MIL)弱监督学习
  • SQL Server 2008 定时自动备份和自动删除方法
  • 代码生成器实现
  • 【Python基础】Python函数(基本函数)
  • Vue3 + TS + Vite —— 大屏可视化 项目实战
  • EasyExcel 批量导入并校验数据
  • 亚马逊、Allegro卖家建立属于自己的测评系统,实现批量优质账号养成
  • springboot的目录结构作用
  • 微信小程序基础使用-请求数据并渲染
  • 代码随想录训练营Day55| 392.判断子序列 ;115.不同的子序列
  • 网络作业9【计算机网络】
  • C++ QT 上传图片至mysql数据库
  • 2023去水印小程序saas系统源码修复独立版v1.0.3+uniapp前端
  • 【ChatGPT】数据科学 ChatGPT Cheat Sheet 书籍分享(阿里云盘下载)
  • 使用 Docker-compose 搭建lnmp
  • chatgpt赋能python:Python中的矩阵合并方法:介绍和使用方法
  • Java动态代理:优化静态代理模式的灵活解决方案
  • 四种Bootloader程序安全机制设计
  • 【DBA 警世录之习惯性命令---读书笔记】