「Mac玩转仓颉内测版20」PTA刷题篇11 - L1-011 A-B
2024-11-18 20:09:09
9次阅读
0个评论
最后修改时间:2024-11-19 20:55:24
本篇将继续讲解PTA平台上的题目 L1-011 A-B,通过对两个字符串进行处理,将字符串 A 中所有在字符串 B 中出现的字符删除,进一步提升Cangjie编程语言的字符串操作与逻辑处理能力。
关键词
- PTA刷题
- 字符串处理
- 条件判断
- Cangjie语言
一、L1-011 A-B
题目描述:给定两个字符串 A 和 B,将字符串 A 中所有出现在字符串 B 中的字符删除,剩下的字符即为 A-B 的结果。
-
输入格式:输入在两行中给出字符串 A 和 B。两个字符串的长度都不超过 10^4,并且保证每个字符串都是由可见的ASCII码和空白字符组成。
-
输出格式:在一行中打印出 A-B 的结果字符串。
解题思路
- 字符过滤:遍历字符串 A,检查每个字符是否出现在字符串 B 中,如果不在 B 中则保留,否则删除。
- 字符数组处理:将字符串 B 转换为字符数组,方便进行字符查找和过滤。
- 格式化输出:最终将处理后的字符串通过拼接输出。
代码实现
package cjcDemo
import std.console.*
import std.collection.*
// 计算 A - B
func subtractStrings(A: String, B: String): String {
let charsToRemove = B.toArray()
var result = StringBuilder() // 用于存储结果
// 遍历字符串 A,过滤掉出现在 B 中的字符
for (ch in A) {
if (!charsToRemove.contains(ch)) {
result.append(Rune(ch))
}
}
return result.toString()
}
main(): Int64 {
// 输入字符串 A 和 B
let A = Console.stdIn.readln().getOrThrow()
let B = Console.stdIn.readln().getOrThrow()
// 计算 A - B
let result = subtractStrings(A, B)
// 输出结果
println(result)
return 0
}
代码详解
- 字符数组处理:使用 toArray() 方法将字符串 B 转换为字符数组,方便进行字符的查找和过滤。
- 结果存储:通过 StringBuilder 来构建结果字符串,避免直接拼接字符串带来的性能开销。
- 字符过滤:在遍历字符串 A 时,检查字符是否存在于 B 中的字符数组中。如果字符不存在于数组中,则将其添加到结果字符串中。
- 最终输出:处理完成后,输出删除 B 中字符后的 A 字符串。
示例执行
示例 1:
输入:
I love GPLT! It's a fun game!
aeiou
输出:
I lv GPLT! It's fn gm!
示例 2:
输入:
abcdefg
bdf
输出:
aceg
小结
本篇通过实现 L1-011 A-B 题目,提升了对字符串处理的能力。通过将字符串 B 转换为字符数组并通过遍历 A 进行过滤操作,成功实现了从 A 中删除 B 中字符的功能。
下篇预告
下一篇将正式进入基础篇,讲解Cangjie语言中的程序基本组成部分,敬请期待 「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成。
上一篇: 「Mac玩转仓颉内测版19」PTA刷题篇10 - L1-010 比较大小
下一篇: 「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成
作者:SoraLuna 链接:https://www.nutpi.net 來源:坚果派 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
00
- 0回答
- 1粉丝
- 0关注
相关话题
- 「Mac玩转仓颉内测版11」PTA刷题篇2 - L1-002 打印沙漏
- 「Mac玩转仓颉内测版10」PTA刷题篇1 - L1-001 Hello World
- 「Mac玩转仓颉内测版15」PTA刷题篇6 - L1-006 连续因子
- 「Mac玩转仓颉内测版16」PTA刷题篇7 - L1-007 念数字
- 「Mac玩转仓颉内测版14」PTA刷题篇5 - L1-005 考试座位号
- 「Mac玩转仓颉内测版18」PTA刷题篇9 - L1-009 N个数求和
- 「Mac玩转仓颉内测版19」PTA刷题篇10 - L1-010 比较大小
- 「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
- 「Mac玩转仓颉内测版13」PTA刷题篇4 - L1-004 计算摄氏温度
- 「Mac玩转仓颉内测版17」PTA刷题篇8 - L1-008 求整数段和
- 「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建
- 「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成
- 「Mac玩转仓颉内测版9」入门篇9 - 综合案例篇
- 「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则
- 「Mac玩转仓颉内测版5」入门篇5 - Cangjie控制结构(上)