首页 新闻 会员 周边

算法:词语接龙

0
[待解决问题]

【要求】请对一组单词进行判断,判断是否可以将这些单词在一定的顺序排列后,使得该顺序中各单词的首字母与前一单词的尾字母相同。

【例子输入】

4    //单词数目

fddr

gfrsf

askgo

orjug  //单词

【输出】

yes

jeyfang的主页 jeyfang | 菜鸟二级 | 园豆:204
提问于:2016-05-21 21:05
< >
分享
所有回答(3)
0

有点难啊

男人要爽 | 园豆:6 (初学一级) | 2016-05-21 22:00

这个是今天看到的百度2016的实习面试题

支持(0) 反对(0) jeyfang | 园豆:204 (菜鸟二级) | 2016-05-21 22:29
0

可以使用 Javaarry的方法进行排序然后在判断

 

韩说不白说 | 园豆:213 (菜鸟二级) | 2016-05-21 22:07

排序?排序的意义是什么

支持(0) 反对(0) jeyfang | 园豆:204 (菜鸟二级) | 2016-05-21 22:29
0

只手尝试的写了下,我写的代码只能实现按照成语接龙那样的排序,没加判断。而且只是凑巧在你给的参数下成功。 莫名的挫折感,我都大三了,居然还写不出来,伤心...

 1     <script>
 2         function same(){
 3             var l = arguments.length;//获取参数个数
 4             var arr = []; //存放参数
 5             var h = []; //用来存放每个参数的首位
 6             var f = [];//存放尾部
 7             var num = [];//存放最终结果
 8            //  因为argument是维数组,所以没用for in
 9             for(var i = 0;i<l;i++){
10                 arr.push(arguments[i]);
11                 h.push(arguments[i].charAt(0));
12                 f.push(arguments[i].charAt(arguments[i].length-1));
13             }
14 
15             for(i in h){
16                 for(j in f){
17                     if(h[i] == f[j]){
18                         num.unshift(arr[i]);
19                     }
20                 }
21             }
22             
23             for(i in arr){
24                 if(num.indexOf(arr[i])==-1){
25                     num.unshift(arr[i]);
26                 }
27             }
28             console.log(num);
29         }
30         same('fddr','gfrsf','askgo','oriug');
31     </script>

 

无敌小坑笔 | 园豆:202 (菜鸟二级) | 2016-05-22 18:36
  for(i in h){
                 for(j in f){
                     if(h[i] == f[j]){
                         num.unshift(arr[i]);
                    }
                 }
             }

这步没看明白意思

支持(0) 反对(0) jeyfang | 园豆:204 (菜鸟二级) | 2016-05-23 10:20

@jeyfang: 双重遍历,如果存在某个尾部等于另一个的头部,就把这个数据存放在结果数组里(因为索引相同,直接就可以取arr[i], unshift等同向队列里插入数据,这里应该通过判断,决定存放数据的顺序...当时懵了,不知道该怎么排序了)

支持(0) 反对(0) 无敌小坑笔 | 园豆:202 (菜鸟二级) | 2016-05-23 10:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册