如何找到最小值而无需使用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 
+0

你允许使用'find'? – Irreducible

+0

不幸的是,我已经使用了这些类型的函数,但我必须找到一种方法来完成这些功能,而不需要这些功能 – TheBOI

例输入

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