【发布时间】:2014-10-24 13:55:48
【问题描述】:
如果我有一个 array 包含一些字符,例如 [a,b,c],而我还有另一个 array 包含每个字符的相应频率,例如 [2,1,1]。我现在想通过一个 linked list ,其中的节点有一些字符串,看看它们是否也有我在原始数组中具有相同频率的字符。
我的方法
我在想我需要
一个循环将从原始数组的index 0 开始,另一个循环将检查该字符串的所有节点,如果我的临时指针为空,则表示所有节点都有它,如果没有,则它们没有,并且我继续下一个。但是我不确定如何完全实现这种方法,因为我对 c 很陌生,而且我想知道是否可以在 O(N)TIME 执行此操作,因为我的方法是 O(N2 )。
示例输出:对于造成的混淆,我深表歉意
因此,如果您有 3 个节点并且每个节点都有一个包含 "nba" "tba" "rba" 的 char 数组
然后输出应返回 b a 。因为它们在每个节点中出现的次数相同。
【问题讨论】:
-
你能给我举个“一些字符串”的例子吗?它被提到就像有一些字符串的节点一样。所以,给我一个字符串格式。
-
你有一个包含字符串的节点的链表。 ex 节点 1 有“jay”,节点 2 有“rab”,节点 3 有“clay”。我要做的是将我已经拥有的数组列表例如 [a,b,c] 频率 arra[1,2,3] 并看到只有 a 匹配。因为每个字符串都有频率为 1 的字符 a。
-
你怎么说“每个字符串都有频率为 1 的字符 a”。?你如何链接频率和字符串中的字符。
-
@user2733436:这也是我的想法,但似乎如果我假设遍历链表然后遍历每个节点中的字符串,O(n^2) 将会是什么来吧,正如答案中已经说明的那样。但在未来几天也会考虑这个问题:-)
-
感谢@nIcEcOw,答案框将一直打开到下周
标签: c string linked-list