ruby-on-rails – 用于在字符串数组中对字符串进行分组的Ruby方
发布时间:2020-12-16 19:07:34 所属栏目:百科 来源:网络整理
导读:我实现了一个分组字谜的功能. 简而言之: 输入:[‘cars’,’for’,’potato’,’racs’,’four’,’scar’,’cream’,scream’] 输出:[[“cars”,“racs”,“scar”],[“four”],[“for”],[“potato”],[“cream”,“scream”]] 我想知道是否有更好的方法
我实现了一个分组字谜的功能.
简而言之: 输入:[‘cars’,’for’,’potato’,’racs’,’four’,’scar’,’cream’,scream’] 输出:[[“cars”,“racs”,“scar”],[“four”],[“for”],[“potato”],[“cream”,“scream”]] 我想知道是否有更好的方法来做到这一点. 码: def group_anagrams(words) array = [] until words.empty? word = words.first array.push( words.select { |match| word.downcase.chars.sort.join.eql?(match.downcase.chars.sort.join ) } ) words.delete_if { |match| word.downcase.chars.sort.join.eql?(match.downcase.chars.sort.join ) } end array end 提前致谢, 解决方法
像那样:
a = ['cars','for','potatoes','racs','four','scar','creams','scream'] a.group_by { |element| element.downcase.chars.sort }.values 输出是: [["cars","racs","scar"],["for"],["potatoes"],["four"],["creams","scream"]] 如果你愿意,你可以将这种单行程转变为一种方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |