如何找到最小值而无需使用min或专门由功能
问题描述:
function [c] = nextinteger(v)
c=0;
a =0;
h=[0];
for i= 1:length(v)
if v(i)>0
h=v;
if h(i+1)>h(i)
a = h(i);
c=a+1;
end
end
end
end
我不得不“写一个函数nextinteger(v)
其作为输入向量v
和作为输出返回最小的正整数,其没有出现在v
”。如何找到最小值而无需使用min或专门由功能
目前我似乎无法找到一个解决方案,上面的代码是尽可能我的解决方案。谁能告诉我什么,我需要考虑什么,我需要修复,以获得更接近我的解决方案所需的结果
举例: 如果输入
[1, 2, 3]
,输出会
4
如果输入是
[4, 0, 1, -10],
输出将是
2
答
例输入
v=[10 0 1 -1 3 4 5];
n=length(v); % length of input
tmp=1:n; % possible integer numbers
for k=1:n % loop over vector
comp_value=v(k);
for r=1:length(tmp) %loop over reference
if tmp(r)==comp_value %compare
tmp(r)=[]; %eclude
break
end
end
end
if isempty(tmp) % check whether all numbers are gone
result=n+1;
else
result=tmp(1);
end
输出:
result =
2
你允许使用'find'? – Irreducible
不幸的是,我已经使用了这些类型的函数,但我必须找到一种方法来完成这些功能,而不需要这些功能 – TheBOI