确定两串乱序同构

来源: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。

 

posted on   华山青竹  阅读(490)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示