随笔分类 - 算法
给一个字符串实现全排列
摘要:<?phpfunction task($str, $place, &$res = []) { if ($place == strlen($str)) { $res[] = $str; return; } for ($i=$place;$i<strlen($str);$i++) {//分别固定第 $p
阅读全文
php 实现Hash表功能
摘要:原链接 https://www.jb51.net/article/98495.htm Hash表作为最重要的数据结构之一,也叫做散列表。使用PHP实现Hash表的功能。PHP可以模拟实现Hash表的增删改查。通过对key的映射到数组中的一个位置来访问。映射函数叫做Hash函数,存放记录的数组称为Ha
阅读全文
找出列表中最大的数字
摘要:function maxNum($array) { if (count($array) == 1) { return $array[0]; } $num = array_shift($array); $maxNum = maxNum($array); return $num > $maxNum ?
阅读全文
请编写一个递归函数来计算列表中包含的元素数
摘要:function counts($array) { if (empty($array)) { return 0; } array_shift($array); return 1 + counts($array);}
阅读全文
sum函数原理
摘要:function sum($array) { if (count($array) == 1) { return $array[0]; } $firstNum = array_shift($array); return $firstNum + sum($array);}
阅读全文
最长公共前缀
摘要:$array = ['apple', 'apar', 'appod'];function getCommon($array) { $firstArray = array_shift($array); $str = ''; $count = strlen($firstArray); for($i=0;
阅读全文
罗马数子转阿拉伯数子
摘要:整理思路:前边的大于等于后边的 VI II 后边的大于前边的 IV (这种按一个位数走)function romanChangeNum($roman) { $array = ['I' => 1, 'V' => 5, 'X' => 10, 'L' => 50, 'C' => 100, 'D' => 5
阅读全文
字符串反转
摘要:$num = 123455678;$b = strrev($num);$array = str_split($num);$array = array_reverse($array);var_dump($array);
阅读全文
两数之和
摘要:$array = [2,5,7,9,11];$target = 11;function twoSums($array, $target) { $count = count($array); for ($i=0;$i<$count;$i++) { $diff = $target - $array[$i
阅读全文
扑克牌的排序
摘要:问题描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.
阅读全文