首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook黑客杯:勤奋的学生问题

Facebook黑客杯:勤奋的学生问题
EN

Stack Overflow用户
提问于 2011-01-16 06:47:03
回答 4查看 2.6K关注 0票数 2

在资格赛中,提出了以下问题:

你已经收到了一张单词清单,供你学习和记忆。作为一名勤奋学习语言和艺术的学生,你决定根本不学习它们,而是在它们的基础上编一些毫无意义的游戏。您想出的一个游戏是看看如何将单词连接起来,从而生成按字母顺序排列的最低可能的字符串。

输入

作为玩这个游戏的输入,你会收到一个包含整数N的文本文件,这是你玩游戏所需要的字数。后面跟着N个字集,每个字集从一个整数M开始,集合中的单词数,后面跟着M个字。输入中的所有标记将被一些空格分隔,除了N和M之外,将完全由小写字母组成。

输出

您的提交应该包含每个对应的单词集的词汇表最短的字符串,每一行一个,并按顺序排列。

约束

代码语言:javascript
复制
1 <= N <= 100
1 <= M <= 9
1 <= all word lengths <= 10

示例输入

代码语言:javascript
复制
5
6 facebook hacker cup for studious students
5 k duz q rc lvraw
5 mybea zdr yubx xe dyroiy
5 jibw ji jp bw jibw
5 uiuy hopji li j dcyi

示例输出

代码语言:javascript
复制
cupfacebookforhackerstudentsstudious
duzklvrawqrc
dyroiymybeaxeyubxzdr
bwjibwjibwjijp
dcyihopjijliuiuy

我写的程序如下:

代码语言:javascript
复制
chomp($numberElements=<STDIN>);  

for(my $i=0; $i < $numberElements; $i++)  
{  
   my $string;  
   chomp ($string = <STDIN>);  
   my @array=split(/\s+/,$string);  
   my $number=shift @array;  
   @sorted=sort @array;    
   $sortedStr=join("",@sorted);    
   push(@data,$sortedStr);  
}  

foreach (@data)  
{  
  print "$_\n";  
}  

程序为给定的测试用例提供了正确的输出,但是facebook仍然显示它是不正确的。这个程序有什么问题吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-16 07:01:35

代码语言:javascript
复制
1
2 ba b

程序输出bba,这是不正确的。bab在词汇上更早。

票数 4
EN

Stack Overflow用户

发布于 2013-06-27 18:06:35

这是一个红宝石程序。因为这是一次10分钟的快速黑客攻击,我没有比较性能。

代码语言:javascript
复制
biginput = [
  ['facebook', 'hacker', 'cup', 'for', 'studious', 'students'],
  ['k', 'duz', 'q', 'rc', 'lvraw'],
  ['mybea', 'zdr', 'yubx', 'xe', 'dyroiy'],
  ['jibw', 'ji', 'jp', 'bw', 'jibw'],
  ['uiuy', 'hopji', 'li', 'j', 'dcyi'],
  ['ba', 'b']
  ]

biginput.each do |input|
  out = ""

  input.each do |word|
    word << word[0]
  end

  input.sort!
  # puts temp.inspect
  input.each do |res|
    out << res[0..-2]
  end


  puts out
end
票数 0
EN

Stack Overflow用户

发布于 2013-06-27 18:24:53

代码语言:javascript
复制
#!/usr/bin/env perl 

while (<DATA>) {
    chomp;
    my($num_words, @words) = split /\s+/;
    my @sorted_words = sort @words;
    $" = '';
    print @sorted_words, "\n";
}

__DATA__
6 facebook hacker cup for studious students
5 k duz q rc lvraw
5 mybea zdr yubx xe dyroiy
5 jibw ji jp bw jibw
5 uiuy hopji li j dcyi
2 ba b
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4704184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档