算法
真的过客
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法的基本特性
算法和程序设计以及数据结构有着密切的相关。算法是为了解决某一些特定类型的问题而设计的一个实现过程,算法有以下特性:有穷性:一个算法必须在执行有穷步之后结束,并且每一步都在有穷时间内完成,不能无限的执行下去;就行数据中的线段一样,有始有终确定性:算法的每一个步骤都应当是有确切定义的,对于每一个过程都不能有二义性,将要执行的每个动作都必须做出严格而清楚的规定。可行性:算法中的每一步都应当有效...原创 2019-11-28 02:58:44 · 11501 阅读 · 1 评论 -
PHP实现数组最大连续子序列和
题目:给定一个整数数组 $arr ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。考虑思路:1. 穷举法把每种情况都计算出来,然后进行一一对比,这种做法显然不可取,复杂度太高2. 动态规划法把每次统计到的数据之和和当前循环值做对比,每次只返回最大值,这样就可以做到,将最大值保留到最后,并且返回得到想要的值,并且复杂度为O(n)。下面是php实现代码:fun...原创 2019-11-16 04:22:33 · 374 阅读 · 0 评论 -
PHP实现数组重新排序 奇数在奇数位,偶数在偶数位
<?phpfunction mySort($arr) { $count = count($arr); $i = 0; $j = 1; while ($i < $count && $j < $count) { // 当偶数位上恰好是偶数时,则直接进入$i的下次循环 if($arr[$i] % 2 ==...原创 2019-09-10 22:59:13 · 540 阅读 · 0 评论 -
PHP实现 两个正整数,求最大公约数,最小公倍数
简单的实现一下,直接上代码:<?php/** * 定义两个正整数,求最大公约数,最小公倍数 * 提示: * 最大公约数,从大到小循环 * 最小公倍数,从比较大的值,按倍数增长去找 */$m = 15;$n = 20;for ($i = $m; $i >= 1; $i--) { if($m % $i == 0 && $n % $i ==...原创 2019-09-11 18:18:45 · 5296 阅读 · 2 评论 -
PHP实现 鸡兔同笼的问题
小学的应用题:鸡兔同笼问题<?php/** * 《孙子算经》【鸡兔同笼问题】 * 今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何? * (在一个笼子里关着若干只鸡和若干只兔,从上面数共有35个头;从下面数共有94只脚。问笼中鸡和兔的数量各是多少?) * 设 $i 为鸡头,$j 为兔头 */// 循环$i$i = 0;while ($i < 35) {...原创 2019-09-11 18:20:55 · 4909 阅读 · 0 评论 -
PHP实现:杨辉三角
闲来无事,写个杨辉三角的程序,应该已经有很多文章写这个了<?php/** * 杨辉三角 * 每一行第一个数和最后一个数为1,其他位置上的数 = 上一行同位置的数+上一行同位置的前一位数之和。 */function yh_put($max) { $array = []; // 循环列数 for($i = 1; $i <= $max; $i++) {...原创 2019-09-21 16:54:49 · 1189 阅读 · 2 评论 -
PHP实现判断字符串是否是回文字符串
前两天,有朋友问我一个面试题,大概的意思就是:如何判断一个字符串是回文字符串?(第一个和最后一个相同,第二个和倒数第二个相同,以此类推……)这个感觉还是很简单的。<?php$str = '11322311';$len = strlen($str);for ($i = 0; $i < $len/2; $i++) { $start_str = $str[$i]; ...原创 2019-09-21 17:09:42 · 1126 阅读 · 0 评论 -
leetCode猜数字:不同语言的实现,不同的空间复杂度和时间复杂度
引用LeetCode上的一道算法题:题目:小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。来源:力扣(LeetCode)链接:https://l...原创 2019-09-27 00:33:36 · 458 阅读 · 0 评论 -
PHP实现 两整数的汉明距离计算
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)上面的箭头指出了对应二进制位不同的位置。来源:力扣(LeetCode)链接:https://leetcode...原创 2019-10-01 22:56:18 · 298 阅读 · 0 评论
分享