首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让这个Javascript anagram算法在Ruby中工作?

要让这个Javascript anagram算法在Ruby中工作,你可以通过将算法从Javascript转换为Ruby语言来实现。下面是一个示例的Ruby代码,用于检测两个字符串是否是anagram(字母重排)。

代码语言:txt
复制
def is_anagram(str1, str2)
  # 去除字符串中的空格和特殊字符,并将字母转为小写
  str1 = str1.downcase.gsub(/\W+/, '')
  str2 = str2.downcase.gsub(/\W+/, '')
  
  # 对两个字符串进行排序
  str1_sorted = str1.chars.sort.join
  str2_sorted = str2.chars.sort.join
  
  # 检查排序后的字符串是否相等
  return str1_sorted == str2_sorted
end

上述代码首先将输入的两个字符串转换为小写,并去除空格和特殊字符。然后使用chars方法将字符串拆分为字符数组,并使用sort方法对字符进行排序。最后,通过将排序后的字符串使用join方法重新连接起来,并比较两个排序后的字符串是否相等来判断是否为anagram。

这个算法可以在Ruby中工作,使用类似于上述代码的方式将Javascript的anagram算法转换为Ruby代码即可。

请注意,以上仅为示例代码,实际应用中可能需要根据具体需求进行优化和改进。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

函数表达式JavaScript如何工作的?

JavaScript,函数表达式是一种将函数赋值给变量的方法。函数表达式可以出现在代码的任何位置,而不仅仅是函数声明可以出现的位置。...函数表达式的语法如下: var myFunction = function() { // 函数体 }; 上述代码,将一个匿名函数赋值给变量myFunction。...函数表达式的工作方式如下: 1:变量声明:使用var、let或const关键字声明一个变量,例如myFunction。 2:函数赋值:将一个函数赋值给该变量。函数可以是匿名函数,也可以是具名函数。...这样的函数函数内部和外部都可以通过函数名来调用自身。...因此,使用函数表达式之前,需要确保该表达式已经被赋值。此外,函数表达式还可以根据需要在运行时动态创建函数,具有更大的灵活性。

21250

如何C罗FIFA的人脸更逼真?这个深度学习算法或将改变整个游戏产业!

C 罗脸部图像对比,左边是 FIFA 18 的图像,右边图像是由一个深度神经网络生成的 游戏工作室花费了数百万美元和数千小时来设计游戏图像,尽可能地它们看起来和真实的一样。...我这个项目的目的是游戏中重建运动员的脸部,并提升人脸图像的表现,它们看上去就像真实的运动员一样。 注:这里有一个视频很好地解释了 deepfakes 算法的原理。...这个结构的训练目的是最小化无监督学习的重构误差。 对于我们的例子,我们同时训练两个自编码器神经网络。一个网络学习如何从FIFA 18的图像重构 C 罗的脸。...另一个网络学习如何从 C 罗的真实图片中重构他的脸。 deepfakes ,两个网络共享相同的编码器,但是各自训练不同的解码器。...一旦使用这种算法,那么游戏开发商就可以更加快地推出新作,再也不需要花费数十年的时间开发游戏上面了。这也意味着游戏工作室可以省下数百万美元,这笔钱可以花在如何更好地编写游戏剧情上。

80340
  • 编程语言简史:有人不喜欢花括号,于是他发明了 Python

    他还提出了一句计算机领域人尽皆知的法则:算法+数据结构=程序,这个公式对计算机科学的影响程度不亚于戈登·摩尔的摩尔定律。...1995年 编程过程存在很多不必要的琐碎时间,导致松本行弘不是很高兴,他注意到其他程序员也不是很高兴。于是,他创建了 Ruby程序员高兴。最后,Ruby 社区高兴了,每个人也都高兴了。...结果表明,命名带有 Java 会他们惹上商标的纠纷,于是,JavaScript 就更名为 ECMAScript,但大家仍然把它叫做 JavaScript。...2012年 Anders Hjelsberg希望Web浏览器编写C#,于是他设计出了TypeScript,它可以理解为是JavaScript的超集,但其中却包含了更多的Java。...2013年 Jeremy Ashkenas希望像Ruby开发者一样快乐,所以他创建了CoffeeScript,编译成JavaScript,但看起来更像Ruby

    1K20

    面向未来的跨界开发技术(上)

    比如 Ruby 的 RoR 框架就大大提升了 Ruby Web 开发者的竞争力,因为Rails内置了一些最佳实践,甚至直接可用的项目架构, web 开发更容易。...这个方法样能反映英语世界的开发者对特定技术的学习热情,也就能相对客观地反映出未来趋势。...这个读者硕士毕业之后找了一份C++的工作,但是产品方面不太喜欢,希望转行做 Python Web 开发。...我为了保持对算法和数据结构的“感觉”,偶尔会在 LeetCode 上找一些题目来做,特别是网站现在支持 JavaScript 了,就更加方便。 有一天我看到这样一个题目。...通过这个题目,我对时间复杂度和空间复杂度的印象又加深了,这是单纯看算法书不能提升的。 以上,就是我在学习编程、打磨手艺方面的经验。

    2.5K10

    一道超简单的Leetcode242:异位词,耗时1小时,能学到什么?

    我买了一本《算法设计》,本来想小码匠看,拿到书,我翻了几页,就果断放弃了。 还是自己抽时间看,然后把比较枯燥的知识点想办法转化成比较有意思的知识,这样小码匠更容易接受。...刷一道算法题 3. 学习数据可视化 4. 运动30分钟 5. 读《倚天屠龙记》 (基本每天都在重复这几件事,每天都很开心) 如何? 小码匠:OK,那我去写了啊 20分钟后,小码匠顺利写完作业。...注意:若 s 和 t 每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。...第二个方案:更悲剧 小码匠:我用sorted试试,代码很简洁,不知道效率如何。 小码匠噼里啪啦,先删又敲了一行代码。...他是先创建一个Hash表 然后循环第一个串计算每个字符的出现次数 然后循环第二个串,减去每个字符串出现次数,如果有小于0的,就说明第二个字符串中出现的字符第一个没有。

    24120

    编程语言五花八门,哪种可以程序员赚到更多钱?

    众多行业,程序员属于高薪职业。无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作岗位。高薪的诱惑和充满挑战性的工作,令程序员一直成为备受欢迎的职业。...今年年初,Glassdoor发布的一份调查报告指出,美国,程序员的就业情况仍然向好。据报告显示,排名前25位的最能赚钱和需求量最高的工作岗位,超过一半以上的岗位要求求职人员具备编程技术。...文章指出,这个结果是拉斯姆森学院收集了2014年发布的1800万个招聘广告,以“平均年薪”和“招聘职位”两个指标为基础进行分析而得出来的。...此外,你还应该拥有自己的网站,积极参与编程比赛来更多人认识你。有能力的程序员还应该尝试开发游戏或流行的应用,在这过程,不但是能力的提升,也是你赚钱的机会。...除了广受用户熟悉的直播编程和社交功能外,这个网站还提供了人才招聘服务。程序员可以通过直播写代码来推销自己开发的项目,为自己争取更多兼职或全职的工作机会。

    1.1K70

    我终于逃离了 Node

    这句话一开始的意思是“前端使用 JavaScript,后端也使用 JavaScript”,我一直觉得这个理由没那么强势。...第一个晚上,我想谈论架构和算法,而 Sacha 想说的只有数据结构。 第二天晚上前,我已经开始着手打造项目的几个工作流了。晚饭时见到 Sacha,看起来好像他几乎没合过眼。...如果你选择了正确的数据结构并组织得当,那么算法往往就能自然体现出来。数据结构才是编程的核心,算法并不是。 从那一刻起,我在哪里都能体会到这个道理。...一条线,控制流继续运作;另一条线未来的某个不确定的时间点,程序会执行一个回调或 promise。 Async/await 是一种折叠范式,它更容易理解的尝试。...Ruby 的最小惊讶原则一切都井井有条。 JavaScript 恰恰相反:JavaScript 是一种进化。Node 每个层面,对所有人而言都充满惊奇的事情。

    51130

    Node.js创造者,Ryan Dahl专访

    我想这我开始思考,我真的很喜欢Ruby的发展,你可以使用Ruby更清楚地表达你的想法。...Ruby: 南美洲之后,我和我的女朋友搬到了德国,因为她是德国人,不得不回大学。我开始去Ruby会议,在那里人们谈论这个MVC的新范例。...我认为JavaScript加异步IO加上一些HTTP服务器的东西实际上是一件非常酷的事情,我对这个想法非常兴奋,以至于我接下来的四年里一直不停地为之工作。...但碰巧的是,我相对失业,有一些空闲时间,可以连续工作几个月,这就是我可以创造它的一些必要条件吧。 Pramod: 你做得很好。Node是建立“纯粹的异步”编程模型的思想,这个想法是如何产生的?...因为机器学习正在快速变化,而且还有大量的工作已经完成,但现在社区神经网络已经有所缩小,成为机器学习中最有用的算法,也许只是引入了一堆的人,只是尝试这个新的ML框架(TensorFlow),但是这将产生一些有趣的想法

    1.4K41

    【11大编程语言薪资排行榜】用空格缩进比用Tab挣得多?

    人工智能和机器学习走热, Python 从众多编程语言中脱颖而出。本文将综合各种信源,比较与不同编程语言美国市场的相关薪资水平、人气和前景,为你提供一些参考。...基于这个结果,Ruby/Ruby on Rails 看起来会你挣得最多,而 Python,C++,iOS 和 JavaScript 也是体面的选择。...另一方面,PHP 劳动力的供应量很大,因此雇主有更多的选择,薪资方面议价能力更强。同时,市场对 PHP 开发人员的需求也不如 Java,SQL 或 JavaScript 那么多。...这个情况也体现在了我们文章一开始的那张图里面(参见图2)。 JavaScript 是个很特殊的例子。尽管供应量最大,但 JavaScript 开发人员并不处于薪水层的底线。 3....也有静态类型的版本,比如 Microsoft的 TypeScript 或 JSX, React 上使用。 Ruby 有了 Ruby,开发人员可以很开心地工作

    1.4K80

    【冲击年薪百万】11 大编程语言薪资排行榜,再不学Python就晚了!

    本文中,你将看到几种主要编程语言的: 工作机会 Github 流程程度及变化 编程语言介绍(为想要学习编程的读者准备) 薪资排行 & 工作机会:Python 既有实力亦有潜力 美国,软件工作岗位在线招聘数量从...基于这个结果,Ruby/Ruby on Rails 看起来会你挣得最多,而 Python,C++,iOS 和 JavaScript 也是体面的选择。...另一方面,PHP 劳动力的供应量很大,因此雇主有更多的选择,薪资方面议价能力更强。同时,市场对 PHP 开发人员的需求也不如 Java,SQL 或 JavaScript 那么多。...这个情况也体现在了我们文章一开始的那张图里面(参见图2)。 JavaScript 是个很特殊的例子。尽管供应量最大,但 JavaScript 开发人员并不处于薪水层的底线。 3....也有静态类型的版本,比如 Microsoft的 TypeScript 或 JSX, React 上使用。 Ruby 有了 Ruby,开发人员可以很开心地工作

    67010

    同样是编程,百万年薪和十万年薪的区别在这里

    本文中,你将看到几种主要编程语言的: 工作机会 Github 流程程度及变化 编程语言介绍(为想要学习编程的读者准备) 薪资排行 & 工作机会:Python 既有实力亦有潜力 美国,软件工作岗位在线招聘数量从...基于这个结果,Ruby/Ruby on Rails 看起来会你挣得最多,而 Python,C++,iOS 和 JavaScript 也是体面的选择。...另一方面,PHP 劳动力的供应量很大,因此雇主有更多的选择,薪资方面议价能力更强。同时,市场对 PHP 开发人员的需求也不如 Java,SQL 或 JavaScript 那么多。...这个情况也体现在了我们文章一开始的那张图里面(参见图2)。 JavaScript 是个很特殊的例子。尽管供应量最大,但 JavaScript 开发人员并不处于薪水层的底线。 3....也有静态类型的版本,比如 Microsoft的 TypeScript 或 JSX, React 上使用。 Ruby 有了 Ruby,开发人员可以很开心地工作

    92890

    【冲击年薪百万】11 大编程语言薪资排行榜,再不学Python就晚了!

    本文中,你将看到几种主要编程语言的: 工作机会 Github 流程程度及变化 编程语言介绍(为想要学习编程的读者准备) 薪资排行 & 工作机会:Python 既有实力亦有潜力 美国,软件工作岗位在线招聘数量从...基于这个结果,Ruby/Ruby on Rails 看起来会你挣得最多,而 Python,C++,iOS 和 JavaScript 也是体面的选择。...另一方面,PHP 劳动力的供应量很大,因此雇主有更多的选择,薪资方面议价能力更强。同时,市场对 PHP 开发人员的需求也不如 Java,SQL 或 JavaScript 那么多。...这个情况也体现在了我们文章一开始的那张图里面(参见图2)。 JavaScript 是个很特殊的例子。尽管供应量最大,但 JavaScript 开发人员并不处于薪水层的底线。 3....也有静态类型的版本,比如 Microsoft的 TypeScript 或 JSX, React 上使用。 Ruby 有了 Ruby,开发人员可以很开心地工作

    935100

    边玩边学,安利30+个学习编程的游戏网站

    支持 JavaScript、Java、Python、PHP、Ruby 等语言。...比如说,第一关是 60 秒内运输 15 个人( 编程语言为 JavaScript )。...9Codewars Codewars战斗中进行学习,和其他人一起真实的编程挑战中提升技巧,支持 JavaScript、Python、C#、Java、Python 等语言(支持的语言见下图)。...游戏中非常形象的表现出了内存,寄存器,输入输出等概念,以及如何利用这些硬件来实现基本的运算、排序等功能。 二其他类似网址 如果你认为以上的网址还不能满足变玩边学,接下来再介绍一些类似的网址。...Programming Praxis 这个博客每周都会出一些新的编程问题。 Project Euler 包含了很多复杂的数学问题,这发烧友们感到非常开心。

    1.2K20
    领券