C语言 将列表的节点与字符串数组进行比较



如果我有一个包含一些字符(例如 [a,b,c](的数组,而我有另一个数组包含每个字符的相应频率,例如 [2,1,1] .我现在想通过一个链表,其中包含具有一些字符串的节点,以查看它们是否也具有我在原始数组中具有相同频率的字符。

我的方法

我在想我需要

一个循环将从原始数组的index 0开始,另一个循环将检查该字符串的所有节点,如果我的临时指针命中 null,则意味着它们都有它,如果没有,那么它们没有,我继续下一个。但是,我不确定如何完全实现这种方法,因为我对 c 非常陌生,而且我也想知道是否有可能在 O(N) TIME 中做到这一点,因为我的方法是 O(N2(。

示例输出:对于混乱,我深表歉意因此,如果您有 3 个节点,每个节点都有一个包含 "nba" "tba" "rba" 的 char 数组 然后,输出应返回b a .因为它们在每个节点中出现的次数相等。

因此,

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

相关内容

  • 没有找到相关文章

最新更新