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

week4-[字符数组]月份

week4-[字符数组]月份

题目描述

1月到12月的英语单词分别为:January、February、March、April、May、June、July、August、September、October、November、December。

现在给定其中11个月份的英语单词,请求出没有出现的那个月份对应的英语单词。

输入格式

输入11行,每行读入一个字符串,为某个月份对应的英语单词。保证输入的11个字符串互不相同。

输出格式

输出1行,该行包括一个字符串,为在输入中没有出现的那个月份对应的英语单词。

样例 #1

样例输入 #1

August
May
June
July
September
January
February
March
November
December
April

样例输出 #1

October

样例 #2

样例输入 #2

January
October
July
May
December
August
September
June
April
February
March

样例输出 #2

November

样例 #3

样例输入 #3

August
April
February
May
January
October
July
November
December
March
September

样例输出 #3

June

这题比较经典,本质就是 找出全集(12个月份)中缺失的那个元素


解题思路

  1. 我们先准备一个完整的月份数组:

    string months[12] = {"January","February","March","April","May","June","July","August","September","October","November","December"
    };
    
  2. 用一个 哈希表(map/set) 来存储输入的 11 个字符串。

  3. 遍历 months[12],查找哪个不在输入集合里,就是答案。


C++参考代码

#include <bits/stdc++.h>
using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);// 1. 完整月份表string months[12] = {"January","February","March","April","May","June","July","August","September","October","November","December"};// 2. 输入集合set<string> s;for (int i = 0; i < 11; i++) {string str;cin >> str;s.insert(str);}// 3. 找缺失的月份for (int i = 0; i < 12; i++) {if (s.find(months[i]) == s.end()) {cout << months[i] << "\n";break;}}return 0;
}

✅ 时间复杂度:O(12 + 11 log 11),常数极小,可以忽略。
✅ 空间复杂度:O(11)

http://www.dtcms.com/a/348670.html

相关文章:

  • TCP连接与UDP协议
  • 构建现代前端工程:Webpack/Vite/Rollup配置解析与最佳实践
  • C++20: std::span
  • 目标检测数据集 第005期-基于yolo标注格式的PCB组件检测数据集(含免费分享)
  • 【Ollama】本地OCR
  • 基于SpringBoot的校园信息共享系统【2026最新】
  • pod管理
  • scanner、arrylist、反转数组
  • FPGA 时序分析(五)
  • 十、redis 入门 之 redis事务
  • (Redis)主从哨兵模式与集群模式
  • 【机器学习】7 Linear regression
  • VScode设置鼠标滚轮调节代码
  • 嵌入式第三十六天(网络编程(TCP))
  • springboot项目搭建步骤
  • 【Flink】部署模式
  • Maven项目中settings.xml终极优化指南
  • Excel 表格 - 乘法与除法处理(保留两位小数四舍五入实现、保留两位小数截断实现、添加百分号)
  • 单片机外设(七)RTC时间获取
  • 深入解析Java NIO多路复用原理与性能优化实践指南
  • 重置MySQL数据库的密码指南(Windows/Linux全适配)
  • 基于springboot的理商管理平台设计与实现、java/vue/mvc
  • 得物25年春招-安卓部分笔试题1
  • Linux camera 驱动流程介绍(rgb: ov02k10)(chatgpt version)
  • AlmaLinux 上 Python 3.6 切换到 Python 3.11
  • EP02:【DA】数据分析的价值创造与应用流程
  • 基于SpringBoot的新能源汽车租赁管理系统【2026最新】
  • 【Linux文件系统】Linux文件系统与设备驱动
  • MySQL数据库精研之旅第十一期:打造高效联合查询的实战宝典(二)
  • python中的filter函数