Sắp xếp danh sách từ đã xáo trộn trước

Đối với thử thách này, bạn cần viết một chương trình sẽ lấy các từ được xáo trộn từ bài đăng này và so sánh chúng với danh sách các từ cho trước để sắp xếp lại chúng. Nếu từ không tồn tại trong word_list thì không in ra.
Ví dụ:
Input:

['mkeart',' sleewa', 'edcudls', 'iragoge','usrlsle',' nalraoci', 'nsdeuto', 'amrhat', 'inknsy', 'iferkna']

Output:

carolina
martha
weasel
frankie
georgia
market
cuddles
notused
russell
skinny

Viết đề không rõ ràng,

Tập hợp từ được xáo trộn, hay là mỗi từ bị xáo trộn các kí tự trong đó?

Đề bài không ghi rõ là so sánh như thế nào, và như thế nào là không tồn tại.

Đề bài không rõ ràng thì có thể hiểu theo nhiều cách khác nhau.

  1. Hàm so sánh 2 string có giống nhau không: Đổi cả 2 thành mảng char, sort cả 2 mảng rồi so sánh, nếu giống nhau tức là string giống nhau.
  2. Đối với mỗi từ trong input, kiểm tra xem nó có giống từ nào trong word_list không, có thì in từ trong word_list ra rồi đến từ tiếp theo.
2 Likes

là quét 1 phần từ bị xáo trộn trong mảng input đc nhập vào kiểm tra phần tử có khớp với các từ có trong file wordslist.txt

class Exercise
  attr_reader :word_list
  def self.load_word_list(path=nil); end
  def self.canonize(*words); words.map{|word| word.chars.sort.join} end 
  def initialize(*word_list)
    self.word_list = Exercise.canonize(word_list)
  end
  def call(*words)
    words.empty? || (Exercise.canonize(words) - self.word_list))
  end
end
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?