Sus*_*ssi -3 php arrays algorithm
写一个函数:
功能解决方案($ A);
在给定N个整数的数组A的情况下,返回A中不存在的最小正整数(大于0).
例如,给定A = [1,3,6,4,1,2],函数应返回5.
再举一个例子,给定A = [1,2,3],函数应该返回4.
给定A = [-1,-3],函数应返回1.
假使,假设:
N是[1..100,000]范围内的整数; 数组A的每个元素都是[-1,000,000..1,000,000]范围内的整数.复杂:
预期的最坏情况时间复杂度是O(N); 预期的最坏情况空间复杂度是O(N),超出输入存储(不计入输入参数所需的存储).可以修改输入数组的元素.
小智 8
function solution($A) {
$a = array_flip($A);
for($i=1; isset($a[$i]);$i++);
return $i;
}
Run Code Online (Sandbox Code Playgroud)
100%性能得分的解决方案!!
不确定您要在代码中执行什么操作,只是从1开始,检查并递增。一旦$i在数组中找不到循环,循环将停止:
function solution($A) {
for($i=1; in_array($i, $A); $i++);
return $i;
}
Run Code Online (Sandbox Code Playgroud)