数据结构与算法分析——字谜问题实现

数据结构与算法分析 第一章课后习题答案第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[];//用户输入的词汇

  

   HashSetstrSet=new HashSet();//用来存放字谜中出现的长串单词

   ArrayListresult=new ArrayList();//存放字谜中匹配到的单词

  

   /**

    * 功能:得到用户输入的二维字母数组及一组单词

    */

   publicvoid input(){<


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部