确定两串乱序同构

简介: 来源:http://www.nowcoder.com/questionTerminal/164929d4acd04de5b0ee2d93047b3b20 题目描述给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

来源:http://www.nowcoder.com/questionTerminal/164929d4acd04de5b0ee2d93047b3b20

题目描述
给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,
能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格
给定一个string stringA和一个string stringB,请返回一个bool,代表两串是
否重新排列后可相同。保证两串的长度都小于等于5000。
测试样例:
"This is nowcoder","is This nowcoder"
返回:true
"Here you are","Are you here"
返回:false

思路说明:

这个题目描述里面“且考虑字符串重点空格”的意义描述不是很明确。

根据牛客网网友讨论和实际提交代码检测结果,感觉不像是要比较单词,而是直接比较字符。

毕竟是要把一个字符串strA调整字符顺序使得该字符串变得与字符串strB相等,所以关键不在于字符的顺序,而是字符出现的次数。

也就是说:假如strA与strB里面各个字符出现的次数对应相等,那么一定可以将strA变为strB。

所以统计strA中各个字符出现的次数并记录在countA[256]中,

然后统计strB各字符出现次数并记录在countB[256]中,

接着扫描countA[]和countB[],若是countA[i]==countB[i],i∈[0,255],则返回true,否则返回false。

 

相关文章
|
消息中间件 缓存 资源调度
在 Flink 算子中使用多线程如何保证不丢数据?
本人通过分析痛点、同步批量请求优化为异步请求、多线程 Client 模式、Flink 算子内多线程实现以及总结四部分帮助大家理解 Flink 中使用多线程的优化及在 Flink 算子中使用多线程如何保证不丢数据。
在 Flink 算子中使用多线程如何保证不丢数据?
|
4月前
|
监控 安全 UED
星型拓扑的缺点是什么?
【8月更文挑战第4天】
243 16
星型拓扑的缺点是什么?
|
5月前
|
搜索推荐
共识协议的技术变迁问题之什么是请求的线性序
共识协议的技术变迁问题之什么是请求的线性序
172 53
|
4月前
|
存储 传感器 网络协议
异步传输:概念、特点与应用
【8月更文挑战第24天】
329 0
|
7月前
|
网络协议 算法 开发者
如何实现网络同步?
【5月更文挑战第3天】如何实现网络同步?
142 9
|
分布式计算 数据处理 流计算
【原理】Flink如何巧用WaterMark机制解决乱序问题
【原理】Flink如何巧用WaterMark机制解决乱序问题
|
设计模式 算法 安全
并发 并行 同步 异步 你分清了吗
并发 并行 同步 异步 你分清了吗
|
消息中间件 分布式计算 Kafka
【Flink】(九)状态一致性、端到端的精确一次(ecactly-once)保证1
【Flink】(九)状态一致性、端到端的精确一次(ecactly-once)保证1
322 0
【Flink】(九)状态一致性、端到端的精确一次(ecactly-once)保证1
|
消息中间件 存储 缓存
【Flink】(九)状态一致性、端到端的精确一次(ecactly-once)保证2
【Flink】(九)状态一致性、端到端的精确一次(ecactly-once)保证2
454 0
【Flink】(九)状态一致性、端到端的精确一次(ecactly-once)保证2