【问题标题】:Comparing nodes of a list with a string array将列表的节点与字符串数组进行比较
【发布时间】: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


【解决方案1】:

因此,您在索引 0 处开始您的 char 数组和 freqarray,然后检查所有节点以查找与字符的相同频率匹配的字符串。我假设您使用某种函数来返回字符串中特定字符的频率。 此外,您的问题需要您遍历所有节点,因此暗示了 O(N^2)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2021-04-22
    • 1970-01-01
    相关资源
    最近更新 更多