比较不同大小的数组而不使用任何循环

2023-12-11

问题是这样的:

给定两个数组,a & b(均为正整数)。

A special number是一个数字a(i) == i(该值等于索引)。

如何检查数组是否b包含一个值,该值是special number of a.

例如:a = [9 9 3 9], b = [3 4 5]。输出将是3. If b or a为空,输出为0. If b包含几个special number,仅显示最小的一个。

这是我到目前为止所做的,无法从这里取得进展..

a = input('Please enter the array a : ');
b = input('Please enter the array b : ');

indexedArray = 1:length(a);
c = a-indexedArray;
t = find(c==0);   
p = find(t==b);

不起作用。

顺便说一句:只能使用这些功能: 。排序、isempty、全部、任意、查找、求和、最大值、最小值、长度。没有循环或条件!只允许使用数组。没有矩阵。不能使用逻辑运算符,例如&、|

Thanks!


我推迟发布我的解决方案,因为我正确地怀疑这道题是作业。然而,既然OP已经接受了乔纳斯的回答,我不妨发布我的。

Code

的组合sum, length, any, and min诀窍是:

function out = stupidTutor(a, b)

a        = sum(a, 1);           % if a is empty, replace it by a 1-by-0 matrix
specials = a(a == 1:length(a)); % construct the vector of special numbers
b        = sum(b, 1);           % if b is empty, replace it by a 1-by-0 matrix

% some dyadic-product shenanigans
A   = specials' * (b == b);
B   = (specials == specials)' * b;
ind = any(A == B, 1);

temp = min(b(ind));         % temp is either a scalar, a 1-by-0 matrix, or []
out  = sum(sum(temp, 2), 1); % trick to return 0 in case temp be 1-by-0 or []

Tests

%               a           b                 result
stupidTutor([9 9 3 9]  , [3 4 5])       %       3  
stupidTutor([9 9 3 9]  , [9 8])         %       0
stupidTutor([9 9 9 9 5], [3 4 5 3])     %       5
stupidTutor([9 9 3 9 5], [3 4 5 3])     %       3
stupidTutor([9 9 3 9 5], [5 4 3 2 1])   %       3
stupidTutor([9 9 3 9]  , [])            %       0
stupidTutor([]         , [3 4 5])       %       0
stupidTutor([]         , [])            %       0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较不同大小的数组而不使用任何循环 的相关文章

  • 尽管代码是正确的,为什么这个程序会显示其他内容? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 include
  • Java 如何知道如何迭代数组

    String strs new String 1 2 6 for String s strs System out println s 这是一个关于java内部的问题 在上面的代码示例中 foreach 循环如何计算出数组的长度 数组实际上
  • 在 Java 中调整数组大小同时保留当前元素?

    我已经在Java中搜索了调整数组大小的方法 但找不到调整数组大小的方法同时保留当前元素 我发现例如这样的代码int newImage new int newWidth 但这会删除之前存储的元素 我的代码基本上会这样做 每当添加新元素时 数组
  • 在编译时初始化静态数组时,g++ (4.7.2) 错误或功能?

    好吧 所以我试图通过初始化一堆来做一些聪明的事情constexpr static int const编译时的数组 尽管运行时性能根本不受初始化这些数组的控制 但这似乎是一个有趣的小练习 我写了一个测试设置来看看是否可行 最终我能够做到这一点
  • 在 PowerShell 中返回具有单个元素的数组

    这应该非常简单 我需要从函数返回哈希表数组 当有多个哈希表时 这是有效的 但当只有一个哈希表时 结果不是数组 我不想测试结果是否是数组 function GetArrayWith1Hashtable array hashtable hash
  • 在php中循环多维数组并执行mysql插入(股票数据)

    我有一个多维数组 我希望循环遍历它并为数组中的值执行 mysql 数据库插入 我需要插入到 sql 查询中的数组值是 candles 0 complete candles 0 volume candles 0 mid h candles 0
  • Ruby 中的数组切片:不合逻辑行为的解释(取自 Rubykoans.com)

    我正在做练习鲁比 科恩斯 http rubykoans com 我对以下 Ruby 怪癖感到震惊 我发现它确实无法解释 array peanut butter and jelly array 0 gt peanut OK array 0 1
  • 如何在 Perl 中生成数组的所有排列?

    生成所有内容的最佳 优雅 简单 高效 方式是什么 n perl 中数组的排列 例如 如果我有一个数组 arr 0 1 2 我想输出所有排列 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0 它可能应该是一个返回迭代器的
  • 将堆分配的指针转换为指向 VLA 的指针是否安全?

    如果我有一个指向代表典型的堆分配空间的指针 行主二维数组 将此指针强制转换为 指向 VLA 的等效指针以方便下标 例子 Assuming m was allocated and initialized something like int
  • PHP 难以检查数组中的元素是否为整数类型

    我正在尝试检测一个或多个变量是否包含数字 我尝试了几种不同的方法 但并没有完全成功 这是我尝试过的
  • 根据不规则数据绘制曲面

    我正在从分散的数据集中绘制填充轮廓图或曲面图 与其他 Q 的主要区别在于数据不是凸的 r th meshgrid 10 15 0 180 x y deal r sind th r cosd th z x 2 y 2 scatter x y
  • 评估函数卷积时出错

    这是我第一次尝试用 matlab 编写任何东西 所以请耐心等待 我正在尝试评估以下 ODE 的解 w N w w f t 与柯西条件 w 0 w 0 0 这里 N 是给定的非线性函数 f 是给定的源 我也需要这个功能 其中 G 是以下 OD
  • 循环结束后从头开始重新迭代 for 循环 - JS

    我有一个数组和一个对象数组 我基本上需要将数组的第一个元素映射到数组内对象的第一个元素 依此类推 两个数组的长度都可以是可变的 并且一旦循环结束 循环应该从头开始 但是 我不确定是否再次开始循环 这是我的代码 const colors 7c
  • JavaScript 在对象中创建数组并将数据推送到数组

    我是编程新手 我正在尝试 React 并具有函数 addComment 当用户向新闻添加评论时执行该函数 此时我需要创建一个属性comments 数组 并分配或推送到该数组输入评论值价值 但现在我只重写了数组的 0 个元素 无法添加新元素
  • 将多个数组合并为一个数组

    如何将多个数组合并为一个二维数组 鉴于我有以下输入 var arr1 1 2 3 var arr2 a b c var arr3 aa bb cc 我需要这样的输出 1 a aa 2 b bb 1 c cc 我认为你想要的是将三个数组组合成
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • Powershell - 将字符串拆分为由开始和结束字符串划分的数组

    我有一个多行字符串 来自 json 例如 somekey somevalue somekey somevalue somekey somevalue somekey somenumber somekey null 我想将字符串拆分为一个数组
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • php,in_array,0值

    我试图理解in array下一个场景的行为 arr array 2 gt Bye 52 77 3 gt Hey var dump in array 0 arr 返回值in array 是布尔值true 正如你所看到的no值等于0 所以有人可
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub

随机推荐

  • 访问 ANTLR 4 中的通道并单独解析它们

    我已将我的评论添加到 ANTLR 4 中的一个单独频道中 在我的例子中 它是频道 2 这是我的词法分析器语法 COMMENT gt channel 2 我想访问这个频道 2 并在这个频道上进行解析以积累评论 所以我将其包含在解析语法中 如下
  • 服务器不愿意处理请求

    我正在尝试使用 powershell 在名为 Branches 的 OU 下添加名为 Calder 的 OU 但我不断收到错误New ADOrganizationalUnit The server is unwilling to proce
  • IOS 中的 HTTPS post 请求

    我尝试使用以下代码发出 https post 请求 NSURL url NSURL URLWithString https portkey formspring me login initialize a request from url
  • CopyFileEx 具有多个文件,但只有一个复制对话框

    我已经在网络和 stackoverflow 上搜索过这个 我想将多个文件从多个源复制到多个目标 我还没有为 UnauthorizedAccessExceptions 烦恼 这些文件很可能无论如何都不会被使用 我可以使用 CopyFileEx
  • 如何在 VBA 中从两个范围创建一个范围?

    我有两个范围 每个范围包含一个单元格 例如 A1 和 C3 如何获得包含这两个之间的所有单元格的新范围 A1 C3 我试过这个 Set NewRange Range Range1 Address Range2 Address 另外 如何设置
  • 如何根据最后一个命令的退出代码更改 bash 提示颜色?

    如果之前的退出代码为 0 我想显示绿色笑脸 如果不成功则显示红色笑脸 基本上我想做这个提示 但还包括其他东西 PS1 u h w if 0 then echo e 32m e 37m else echo e 31m e 37m fi 我想将
  • org.hibernate.PersistentObjectException:传递给持久化的分离实体

    我已经成功地用 hibernate 编写了我的第一个主子示例 几天后我又拿了它并升级了一些库 不知道我做了什么 但我再也无法让它运行了 有人可以帮我找出返回以下错误消息的代码有什么问题吗 org hibernate PersistentOb
  • 将负数分配给无符号整数?

    在 C 编程语言中 unsigned int仅用于存储正值 但是 当我运行以下代码时 unsigned int x 12 printf d x 输出仍然是 12 我认为它应该打印出 12 或者我误解了什么 The 12等号右侧设置为有符号整
  • Vega-lite 条形图条形之间的空间

    D3新手 如何调整 vega lite 条形图中条形之间的间距并覆盖默认值 binSpacing 我认为只适用于直方图 请参阅下面的代码 我也想调整文本和字体系列的颜色 但我在文档中找不到它 schema https vega github
  • 如何获取转换后的 Windows 应用商店 UWP 应用程序的故障转储(或任何可用的故障报告)?

    我向 Windows 10 Store 提交了我的nativeWin32 应用程序是转换为 UWP应用程序使用Project Centennial转换器 该应用程序通过了商店认证 可以通过私人链接使用 当我测试它时 在运行我的测试时 应用程
  • 从 Android 内存读取 SQLITE 数据库

    我在 Java 应用程序上创建了一个 sqlite 数据库 并将其推送到我的 android 上 我想读取这个数据库 可能稍后也会写入 到目前为止 我发现的大多数教程都是在 android 中创建数据库 我认为我不需要重写 SQLiteOp
  • Rhinomocks - 嘲笑代表

    public interface IServiceInvoker R InvokeService
  • 如何在 Ruby 中创建用于深度复制/克隆对象的运算符?

    我想通过引入一个新的运算符来实现以下目标 例如 a b b 1 2 p a gt p b gt 1 gt 2 据我了解 我需要修改Object类 但我不知道该怎么做才能得到我想要的东西 require superators class Ob
  • 在 Javascript 中对日/月数组进行排序

    我正在尝试按从最新到最旧的顺序对日期数组进行排序 不幸的是 list sort 默认情况下 仅对第一个数字进行排序 我的数组如下所示 var MyArray 13 Jun 09 Jun 25 Aug 30 Jun 13 Aug 我尝试创建一
  • 如何使我的游戏引擎更快(GDI+、C#)

    我目前正在使用 GDI 用 C 构建 2D 游戏引擎 我确实知道有更好的 GDI 替代品 但我也已经深入到这个项目中 现在无法回头 因此 我目前有一个图形引擎 它可以根据我的相机位置和窗口大小来渲染位图的一部分 这给了我很大的性能提升 伟大
  • db.collectionNames 在 Node.js 中不起作用

    我想检查 Node js 中是否存在集合 我使用 db collectionNames 获取数据库中的名称列表 但什么也没发生 代码 connectDB DBURL then function db console log db conne
  • 检查套接字文件描述符是否可用?

    如果我有一个文件描述符 套接字 fd 如何检查该 fd 是否可用于读 写 在我的情况下 客户端已连接到服务器并且我们知道 fd 但是 服务器会断开套接字 有什么线索可以检查吗 你要fcntl 检查 fd 上的读 写设置 include
  • 如何从数据集中的存储过程返回表名

    我使用一个数据集来存储加载时需要的 15 个表 当我使用存储过程填充所有表时 它会返回所有表 但表的名称并不与数据库中的实际表名称相同 它获取所有表名为Table1 Table2 Table3 的表 我希望它们的名称与表中实际的名称相同 S
  • 当子元素具有背景颜色并且浏览器缩小小于 100% 时,CSS 边框消失

    我有一个带有 1px 边框的元素和一个具有背景颜色的子元素 当我将浏览器的缩放比例缩小到 70 80 时 会导致父元素的边框消失 我注意到 PC 上的 Chrome 和 IE11 中会出现这种情况 但 MacBook Pro 上的 Chro
  • 比较不同大小的数组而不使用任何循环

    问题是这样的 给定两个数组 a b 均为正整数 A special number是一个数字a i i 该值等于索引 如何检查数组是否b包含一个值 该值是special number of a 例如 a 9 9 3 9 b 3 4 5 输出将