摘要:记录所有算法相关知识。写算法时,可以先写,这样比较容易把握和思考。以下算法都可以直接跑。冒泡算法这种形式比较简便易读快速排序。
记录所有算法相关知识。写算法时,可以先写test case,这样比较容易把握和思考。
以下算法都可以直接跑。
1.冒泡算法
</>复制代码
$arr[$j]) {
//这种形式比较简便易读
list($arr[$i], $arr[$j]) = array($arr[$j], $arr[$i]);
}
}
}
return $arr;
}
2.快速排序。简单思路,随机挑选一个数组中的值,以它为标准,小于他的放在她的左边,大于他的放在他的右边。之后递归,最后所有的值都会排列好。
</>复制代码
3.从两个数组中找出相同的数
</>复制代码
$arr2[$index2]) {
$index2++;
} else {
$container[] = $arr1[$index1];
//放入container之后,不要忘记增加index
$index1++;
$index2++;
}
}
return array_unique($container);
}
4.重写shuffle函数,打乱一个数组
</>复制代码
5.分离字母和数字。一个string中有字母数字,分离并用:分割
</>复制代码
6.约瑟夫环问题
相关题目:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。
</>复制代码
1) {
for ($i=0;$i<$n-1;$i++) {
$pop = array_shift($roundTable);
array_push($roundTable, $pop);
}
array_shift($roundTable);
}
return $roundTable[0];
}
7.二分法
</>复制代码
$index) {
$right = $mid - 1;
} else if ($arr[$mid] < $index) {
$left = $mid + 1;
} else {
return $mid;
}
}
return -1;
}
8.找出一组数中连续的最大和
</>复制代码
= 0) {
if ($maxSum < $currentSum)
$maxSum = $currentSum;
$currentSum += $arr[$i];
} else {
$currentSum = $arr[$i];
}
}
return $maxSum;
}
9.3sum. 排序好的数列,复杂度n^2。如果没有排列好,可以先用sort
</>复制代码
left,所以不用担心i,left,right相等
while ($right > $left) {
$sum = $arr[$left] + $arr[$i] + $arr[$right];
if ($sum < 0) {
$left++;
} else if ($sum > 0) {
$right--;
} else {
$set = array($arr[$left], $arr[$i], $arr[$right]);
$result[] = $set;
//不要忘记++,否则死循环
$left++;
$right--;
}
}
}
return $result;
}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28525.html
摘要:数据项是数据的不可分割的最小单位。数据项是对客观事物某一方面特性的数据描述。数据对象是性质相同的数据元素的集合,是数据的一个子集。数据的逻辑结构数据元素之间的相互关系称为逻辑结构。 项目地址 https://github.com/m9rco/algo... 每周最少一更,求出题,求虐待 At least once a week, ask for problems and abuse 简...
摘要:数据项是数据的不可分割的最小单位。数据项是对客观事物某一方面特性的数据描述。数据对象是性质相同的数据元素的集合,是数据的一个子集。数据的逻辑结构数据元素之间的相互关系称为逻辑结构。 项目地址 https://github.com/m9rco/algo... 每周最少一更,求出题,求虐待 At least once a week, ask for problems and abuse 简...
摘要:数据项是数据的不可分割的最小单位。数据项是对客观事物某一方面特性的数据描述。数据对象是性质相同的数据元素的集合,是数据的一个子集。数据的逻辑结构数据元素之间的相互关系称为逻辑结构。 项目地址 https://github.com/m9rco/algo... 每周最少一更,求出题,求虐待 At least once a week, ask for problems and abuse 简...
阅读 831·2021-11-11 16:54
阅读 3193·2021-09-26 09:55
阅读 2120·2021-09-07 10:20
阅读 1300·2019-08-30 10:58
阅读 1125·2019-08-28 18:04
阅读 791·2019-08-26 13:57
阅读 3689·2019-08-26 13:45
阅读 1239·2019-08-26 11:42