它们是“相同的”吗?代码大战

2024-06-03

这是完整的问题描述

给定两个数组 a 和 b,编写一个函数 comp(a, b)(Clojure 中的 compSame(a, b))来检查这两个数组是否具有“相同”元素以及相同的重数。这里,“相同”意味着 b 中的元素是 a 平方中的元素,无论顺序如何。

Examples

有效数组

a = [121, 144, 19, 161, 19, 144, 19, 11]  
b = [121, 14641, 20736, 361, 25921, 361, 20736, 361]

comp(a, b)回报true因为在b:

  1. 121 是 11 的平方,
  2. 14641 是 121 的平方,
  3. 20736 144的平方,
  4. 第361章 19的平方,
  5. 25921 161 的平方,依此类推。

如果我们用平方来写 b 的元素,结果就很明显了:

无效数组

a = [121, 144, 19, 161, 19, 144, 19, 11] 
b = [11*11, 121*121, 144*144, 19*19, 161*161, 19*19, 144*144, 19*19]

如果我们将第一个数字更改为其他数字,comp may not return true不再:

a = [121, 144, 19, 161, 19, 144, 19, 11]  
b = [132, 14641, 20736, 361, 25921, 361, 20736, 361]

comp(a,b)回报false因为在b, 132 不是任何数的平方a.

a = [121, 144, 19, 161, 19, 144, 19, 11]  
b = [121, 14641, 20736, 36100, 25921, 361, 20736, 361]

comp(a,b)回报false因为在b, 36100 不是任何数 a 的平方。

Remarks

  1. a or b可能[](所有语言)。
  2. a or b可能nil or null or None(Haskell、Elixir、C++、Rust 除外)。
  3. If a or b are nil(或 null 或 None),问题没有意义,所以返回false.
  4. If a or b are empty结果是显而易见的。

C 注释

  1. 这两个数组具有相同的大小 (> 0),作为函数 comp 中的参数给出。

我的问题:

您能提供一个我不符合所需规格的测试用例吗?

我陷入了 1 项基本测试未通过的困境(预计 结果:true,但我的代码返回 false)

我的代码尝试

function isTrue(el){
  return el === true;
}

function comp(array1, array2){
  if(array1.length === 0 || array2.length === 0){
    return false;
  }
  var arr = array1.map(function(num){return num*num});
  var arr2 = [];
  for(var i = 0; i < arr.length; i++){
    if(array2.includes(arr[i])){
      arr2.push(true);
      var a = array2.indexOf(arr[i]);
     array2.splice(a,1);
    } else{
      arr2.push(false);
    }
  }
  return arr2.includes(false) ? false : true;
}

最简单的方法:

const comp = (a1, a2) => {
  if (!a1 || !a2 || a1.length !== a2.length) return false;
  return a1.map(x => x * x).sort().toString() === a2.sort().toString();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

它们是“相同的”吗?代码大战 的相关文章

随机推荐

  • Azure Functions - 注入的 ILogger 日志未显示

    我在用着FunctionsStartup在 Azure Functions 项目中设置 IoC 绑定 但是 从注入创建的任何日志ILogger
  • 我应该在 Kubernetes 前面添加 DMZ 吗?

    Kubernetes Ingress 是否足够安全 可以避免在 Kubernetes 前面添加 DMZ 来暴露 Pod 和服务 如果有人 黑进 Pod 会发生什么 Thanks 这是一个意见问题 所以我会用一个选项来回答 如果您遵循 这是非
  • 用dagger 2查看依赖注入

    我有一个自定义视图扩展TextView 我应该在哪里调用我的组件来注入视图 component inject customTextView 因此 我发现我需要在自定义视图的构造函数中添加注入 在所有视图中 或者使一个调用另一个 Exampl
  • PHP - 获取 URL 中写入的 $_GET 参数字符串的最简单方法

    我正在尝试从一个页面重定向到另一页面 同时保留参数 例如如果我有一个页面 page php param1 1 param2 2 提取 param1 1 param2 2 的最简单方法是什么 Use SERVER QUERY STRING 访
  • 绘图:仅保留最相关的数据

    为了节省带宽并且不用自己生成图片 图表 我计划使用 Google 的图表 API http code google com apis chart http code google com apis chart 它的工作原理是简单地发出一个
  • NHibernate IQueryable 集合作为 root 的属性

    我有一个根对象 它有一个集合属性 例如 I have a Shelf object that has Books Now public class Shelf public ICollection
  • Weasyprint 在调用 write_pdf 时获得未定义的属性:“AttributeError:‘PosixPath’对象没有属性‘read_text’”

    我正在 ubuntu 18 04 上运行 weasyprint 项目 并尝试创建一个 pdf 当我尝试设置页脚图像时 问题就开始了 我正在 python 3 6 7 上运行 这是我调用 weasyprint 的代码 import sys i
  • 肥皂服务的良好框架是什么?

    我正在寻找一个用于肥皂的好框架service 我更喜欢使用Pythonic框架 但是在查看了soaplib rpclib 太不稳定 SOAPy 不适用于2 7 和ZSI 太 令人困惑 之后 我不确定这是否可能 我对使用另一种语言感到满意 尽
  • SwiftUI Nested ForEach 导致致命错误:每个布局项只能出现一次

    我正在尝试创建一个 LazyVGrid 视图来使用嵌套的 ForEach 语句显示数组中对象的内容 该代码导致应用程序崩溃 并显示消息 致命错误 每个布局项只能出现一次 每个对象都包含一个值数组 需要在网格中显示为一行 该行由包含对象 sk
  • 如何有效地将 gtts 音频转换为 pydub 音频片段?

    我想在 pydub 中操作 gtts 音频 但我不确定如何将 gtts 文件转换为 pydub 音频 我知道我可以将谷歌文本转换为语音音频到 mp3 并且我知道我可以使用 pydub 导入 mp3 但这个过程效率很低 有没有办法跳过创建 m
  • 增量决策树 C++ 实现

    有谁知道决策树分类器的增量实现吗 这样 当您将新实例添加到训练集中时 它可以根据现有决策树分类器以低计算量并尽可能快地生成最佳决策树分类器 换句话说 我有一个最优决策树分类器集A 其中命名为T 1 现在我想添加实例X to set A并找到
  • Python MySQL 模块

    我正在开发一个需要与 MySQL 数据库交互的 Web 应用程序 但我似乎找不到任何真正适合 Python 的模块 我特别寻找快速模块 能够处理数十万个连接 和查询 所有这些都在短时间内完成 而不会对速度产生重大影响 我想我的答案将是游戏领
  • 如何在Android Studio中关联.mp3文件

    我想根据列表视图项单击播放 mp3 文件 但是根据我的代码 我运行我的应用程序 出现此窗口 因此由于缺少音频选项 我真的不知道需要选择其中哪一个为了关联我的 mp3 文件 mainList setOnItemClickListener ne
  • 还有其他地方可以获得 google-services.json 吗?

    我尝试单击GET A CONFIGURATION FILE链接自the docs https developers google com identity sign in android start integrating get conf
  • React JS“this”没有按预期工作

    我有下面的代码 save function var this this console log this refs itemText this setState isEditing false function console log In
  • 如何使用Powershell变量打开Edge?

    我已经尝试过以下方法 edge New Object com microsoft edge application edge visible true edge FullScreen true 但我收到错误 New Object Retri
  • 标记内的值发生变化时调用函数

    JavaScript 有没有什么方法可以在段落标记的值更改时调用函数 概述 HTML p 00 00 p
  • 将List中的相邻元素放入元组中

    给定一个元素列表 xs a b c d z where a b c等是任意值的占位符 我想实现一个功能adjacents a gt a a 产生 adjacentValues a b b c c d y z 在 Haskell 中 递归定义
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • 它们是“相同的”吗?代码大战

    这是完整的问题描述 给定两个数组 a 和 b 编写一个函数 comp a b Clojure 中的 compSame a b 来检查这两个数组是否具有 相同 元素以及相同的重数 这里 相同 意味着 b 中的元素是 a 平方中的元素 无论顺序