本文主要是介绍数据结构与算法分析——字谜问题实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据结构与算法分析 第一章课后习题答案第2题
一、问题描述:
二、解题思路:(针对的是字典不太大的情况)
1、单词表中的每个单词均可以用一个四元组(行,列,方向,长度)表示;
2、其中方向可分为四种:水平(包括向左、向右)、竖直(包括向上、向下)、右下(包括右下、左上)、左下(包括左下、右上);
3、找出每个方向上的最长字符串,以水平方向(向右)为例,最长字符串为:this,wats,oahg,fgdt;
4、如果3中的字符串包含或者等于用户提供的单词,则字谜中出现了该单词。
三、编程实现:
1、代码:
package exercise_1;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Scanner;
public class Exercise02 {
introws=0; //数组的行数
intcols=0; //数组的列数
chararr[][];//二维数组
Stringwords[];//用户输入的词汇
HashSet<String>strSet=new HashSet<String>();//用来存放字谜中出现的长串单词
ArrayList<String>result=new ArrayList<String>();//存放字谜中匹配到的单词
/**
* 功能:得到用户输入的二维字母数组及一组单词
*/
publicvoid input(){<
这篇关于数据结构与算法分析——字谜问题实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!