所以,我有一个长度为200的不规则数组(称为名称)。数组中的每个指针都指向一个不超过50个字符且没有空格的字符串。我也有一个通过名为inname的用户输入给出的字符串,长度为50,inname将是存储在名称中的字符串之一。我需要找到一种方法来检查我的衣衫褴褛的数组中的字符串,并查找具有与inname重叠的最大子字符串的字符串,不包括inname本身,因为它将在文件中。如果没有字符串有重叠,那么我们打印出“不推荐”。 我一直在努力解决这个问题,现在好几个小时了,有帮助吗? O :) SO基本上,程序在数组中找到名称最大的子字符串与inname重叠。 将编辑以提供其他信息,如果您需要它C中这个不规则数组/子串程序的帮助?
0
A
回答
2
这会不会导致你的最有效的方式找到重叠(动态编程是单向的 - 还有其他疯狂的方法,如后缀树),但它应该让你开始:
首先,想想你将如何找到重叠的长度与两个字符串的开始对齐。例如,发现这两者之间的最长重叠:
programming
ungrammatical
在这种情况下,只有一个m
重叠 - 1.
的长度后来想想你会如何“换挡”的字符串,当他们排列不同时寻找重叠。 (不要实际改变字符串:只是改变你如何循环来比较它们。)这两者之间有什么重叠?
programming
ungrammatical
想想如何看待所有可能的路线。如果你跟踪的是你找到的最长的一条,那么你有两个特定字符串之间的最长对齐。
之后,继续检查所有不同的字符串。跟踪最匹配的那个,再次,一旦你看了所有这些,你就有了答案。
3
您应该从确定infunc和单个字符串之间重叠大小的小问题开始。 (!包括伪代码)
维基百科越过一些算法解决longest common substring problem
相关问题
- 1. C程序:定期与不规则字符串数组
- 2. 帮助排序这个数组
- 3. 帮助mod_rewite规则
- 4. Intelligencia.UrlRewriter规则帮助
- 5. Prolog规则帮助
- 6. 帮助的mod_rewrite规则
- 7. 序言 - 帮助理解规则
- 8. 需要排序规则帮助
- 9. 序言 - 帮助固定规则
- 10. 我需要帮助填补这个从程序字符串数组项
- 11. 复杂.htaccess规则帮助
- 12. 帮助重写规则
- 13. .htaccess规则冲突帮助
- 14. Codeigniter验证规则帮助
- 15. css帮助 - 多条规则
- 16. fortran90中的数组和子程序帮助
- 17. 子串帮助...?
- 18. 需要帮助翻译这个htaccess重写规则到Nginx
- 19. 字符串/数组参数帮助C编程
- 20. 帮我重写这个htaccess规则
- 21. 帮助C++程序分析
- 22. 帮助与C#数组
- 23. C#数组方法帮助
- 24. C++中的二维数组帮助
- 25. 在C中需要数组的帮助#
- 26. .NET 4的路由规则帮助
- 27. 的.htaccess重写规则帮助
- 28. 帮助简单的重写规则
- 29. 的.htaccess重写规则帮助
- 30. 的.htaccess帮助重写规则
这功课吗? – 2011-05-17 03:33:41
从某种意义上说,虽然它不是单纯的作业,所以它不像我为了成绩或其他任何东西而转向它。 – 2011-05-17 03:38:33
你可以改变你的字符串数组的名称,而不是暗示它包含一个函数指针列表? – aroth 2011-05-17 03:40:31