我实现了一个分组字谜的功能.
简而言之:
简而言之:
输入:[‘cars’,’for’,’potato’,’racs’,’four’,’scar’,’cream’,scream’]
输出:[[“cars”,“racs”,“scar”],[“four”],[“for”],[“potato”],[“cream”,“scream”]]
我想知道是否有更好的方法来做到这一点.
我真的认为我使用了太多的重复陈述:直到,选择,
delete_if.
有没有办法组合select和delete_if语句?那
意味着,可以自动删除所选项目吗?
码:
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
提前致谢,
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。