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

PAT乙级_1093 字符串A+B_Python_AC解法_含疑难点

注意事项:

       因为笔者的编程水平以自学为主,代码结构可能比较混乱、变量命名可能不够规范。

       文章中的AC解法不一定最优,并且包含笔者强烈的个人风格,不喜勿喷,但欢迎在评论中理性讨论或者给出提升建议。

       文章中提到的疑难点仅为个人在刷题过程中所遇到的情况,如有读者存在其他疑难点,欢迎在评论中加以补充,笔者会尽量将其加入到文章内容中。


合集: 

 PAT乙级_合集_Python_AC解法


 题目:

1093 字符串A+B

题目描述: 

给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除

输入格式:

输入在两行中分别给出 A 和 B,均为长度不超过 10^6的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。

输出格式:

在一行中输出题面要求的 A 和 B 的和。

输入样例:

This is a sample test
to show you_How it works

输出样例: 

This ampletowyu_Hrk

代码限制: 

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB


AC解法: 
# 获取输入数据
a = input()  # 第一行输入的字符串 a
b = input()  # 第二行输入的字符串 b# 处理结果并输出
t = set()  # 创建空集合用于去重判断
res = []  # 创建空列表用于答案存储
for c in a + b:  # 遍历 a b 合并后的字符串中的各个字符if c not in t:  # 若该字符不在集合 t 中t.add(c)  # 将该字符加入集合 tres.append(c)  # 将该字符加入答案表 res
print(''.join(res))  # 拼接答案表输出结果

题目解读:

       本题描述比较易懂。

       先获取输入的两个字符串,将其拼接后再在保持原顺序的情况下去重,最后输出结果。

疑难点: 

测试点3、测试点4运行超时

       这两个测试点超时是因为判断去重时不应该使用列表,列表中执行查找操作的时间复杂度是 O(n) 。应该采用字典或者集合,这两种数据类型查找操作的时间复杂度是 O(1) 。


其他解法

       上文给出的AC解法的内存占用约7800kb、耗时约140ms。

       以下AC代码性能更好,内存占用约7800kb、耗时约75ms。

a = input()
b = input()
print(''.join(list(dict.fromkeys(a + b))))
http://www.xdnf.cn/news/1420903.html

相关文章:

  • 基于 C 语言的网络单词查询系统设计与实现(客户端 + 服务器端)
  • Python OpenCV图像处理与深度学习:Python OpenCV特征检测入门
  • AI时代SEO关键词实战解析
  • Python3环境搭建教程 - 使用Conda工具
  • CGroup 资源控制组 + Docker 网络模式
  • 【并发场景问题】超卖、一人一单业务问题的解决方案
  • 大型语言模型监督微调(SFT)
  • openharmony之sandbox沙箱机制详解
  • K8S网络组件Calico深度解析
  • Python OpenCV图像处理与深度学习:Python OpenCV图像几何变换入门
  • 深入解析 Go 程序逆向风险与防护策略
  • 如何对嵌入式软件进行单元测试
  • 无重复字符的最长子串,leetCode热题100,C++实现
  • Vue3响应式陷阱:如何避免ref解构导致的响应式丢失
  • 电动自行车车架前叉振动、组合件冲击、把立管弯曲强度试验机等机械强度性能测试项目解析
  • 【趣味阅读】Python 文件头的秘密:从编码声明到 Shebang
  • Spring事务管理策略对比与性能优化实践指南
  • AI辅助论文写作,在《人工智能生成合成内容标识办法》出台后的新规则
  • HarmonyOS 应用开发深度实践:深入 Stage 模型与 ArkTS 声明式 UI
  • Linux - JDK安装
  • 刷题之链表oj题目
  • 突破超强回归模型,高斯过程回归!
  • 大语言模型对齐
  • VMware pro16(许可证)+centos 7超详细安装教程
  • MQ使用场景分析
  • 【RK3576】【Android14】PMIC电源管理
  • DVWA靶场通关笔记-SQL Injection Blind(SQL盲注 Impossible级别)
  • kubectl-etcd
  • 【C++】内存管理机制:从new到delete全解析
  • 植物中lncRNA鉴定和注释流程,代码(包含Identified,Classification,WGCNA.....)