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
中未出现的最小正整数。&# 34;
目前我似乎无法找到解决方案,上面的代码就我已经解决了。有人可以告诉我我需要考虑什么以及我需要修复什么才能更接近我的解决方案
期望结果的示例: 如果输入是
[1, 2, 3]
,输出为
4
如果输入是
[4, 0, 1, -10],
输出将是
2
答案 0 :(得分:0)
示例输入
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