是的,这是我之前几篇文章的重复,但尽管我的回答很有用,尽管我已经看过其他关于这个问题的问题项目,我很喜欢我如何去做这件事。我并不是刻意固执,但是由于花了很多时间思考如何实现我的特定算法,我发现很难放弃我的想法来以其他方式解决问题。只是寻求如何实现它的建议,因为我不是一个伟大的程序员,并且不能思考如何构建我的代码中的各种if和for语句。构建控制流 - 搜索网格中的单词
所以在这里。给定一个20x20的字母和给定的单词我想在其中找到这个单词。可以在任何方向存在。
我有一个索引最初是1
对于我想在网格中发现,找到行和首字母即字(索引)的列位置的字。
递增索引。
在几个案例之间切换,在每个相邻的正方形中查找第一个字母的每个位置的字母。决定像做一个指南针一样去做这件事。
switch directions
case 'N'
f_row = +1;
f_col = 0;
case 'NE'
f_row = -1;
f_col = +1;
case 'E'
f_row = 0;
f_col = +1;
case 'SE'
f_row = +1;
f_col = +1;
case 'S'
f_row = +1;
f_col = 0;
case 'SW'
f_row = +1;
f_col = -1;
case 'W'
f_row = 0;
f_col = -1;
case 'NW'
f_row = -1;
f_col = -1;
end
</blink>
检查这个信在每个网格中的这些位置的是否等于字(索引),其现在应该第二个字母。
如果这样再次朝这个方向移动并比较单词长度的每个字母,每次增加单词索引。
如果一个字符不匹配,请尝试其他方向。
如果字母不存在,请尝试下一次出现网格中的第一个单词。
我已经花了几个小时试图现在得到这个权利有一点运气,我不以思考如何构建控制流非常好。有什么想法吗?
哦,当然。干杯。只是很快就写出来,没有检查。交换机是否必须放在for循环中?我不确定。 – user3058703