【发布时间】:2014-11-18 23:57:18
【问题描述】:
问题是这样的:
给定两个数组,a & b(均为正整数)。
special number 是一个数字,a(i) == i(值等于索引)。
如何检查数组 b 是否包含一个值是 special number 的 a。
例如:a = [9 9 3 9]、b = [3 4 5]。输出将是3。如果b 或a 为空,则输出为0。如果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 、 all 、 any 、 find 、 sum 、 max 、 min 、 长度。没有循环或条件!只允许使用数组。没有矩阵。不能使用 &、|
等逻辑运算符谢谢!
【问题讨论】:
-
这是作业吗?
a和b是向量,还是可以是更高维的数组(矩阵等?)。 -
vectors.. 设法使它与“ismember”一起工作.. 但不能使用此功能。
-
(a和b是一维数组)
-
这是一个非常人为的家庭作业问题。不能使用 cmets 中的任何特殊功能就像告诉某人只用石头和火做饭一样。拥有这些工具是 MATLAB 的独特之处。如果你不能使用它们,那么使用 MATLAB 就没有意义了。
-
@rayryeng:我同意。虽然它可能会教一些关于索引的知识(请参阅我的解决方案),但与其让人们做谜题,为什么不让他们做一个索引在现实问题中实际上有用的问题呢?