算法
躬匠
这个作者很懒,什么都没留下…
展开
-
面试系列 -- 你需要知道的8种数据结构
原文:The top data structures you should know for your next coding interview 译者:Fundebug 原文地址:https://blog.fundebug.com/2018/08/27/code-interview-data-structure/为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学...转载 2019-03-25 09:03:11 · 1565 阅读 · 0 评论 -
算法系列 -- 两个长整形字符串相加
前两天出去面试被问到了这个一个问题:将两个长度很长的整形字符串相加输出,字符串的长度操作系统能够表示的整形的最大长度。废话少说,直接上PHP代码。<?php$str1 = '1231423423423423';$str2 = '333332342342342342333';$final = '';$maxleng = (strlen($str1) > strlen($s...原创 2019-03-23 17:41:15 · 1046 阅读 · 0 评论 -
算法系列 -- 猴子选大王
背景:一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。PHP语言代码cli模式下实现如下:<?php$argv = $_SERVER['argv'];$mode...原创 2019-03-24 12:39:18 · 908 阅读 · 0 评论 -
算法系列 -- 递归/递推优化
这里以常见的斐波那契数列和阶乘求解为例来学习一下递归/递推算法的使用。<?php//***********问题1 斐波那契数列求解*************$n = 7;//方法1 :递归算法//此算法的时间复杂度为O(n*n),空间复杂度为O(1)function getSum($n) { if ($n <=2) { return 1; } return g...原创 2019-07-13 12:47:14 · 5012 阅读 · 0 评论 -
算法系列 -- 位运算
目录一、前言二、概念了解三、技巧与实战3.1常见技巧3.2 实战3.2.1 以O(1)的时间复杂度判断一个数是不是2的幂次3.2.2 计算一个 32 位整数的二进制表示中有多少个 13.2.3 将整数A转换为B,需要改变多少个bit位3.2.4数组中,只有一个数出现一次,剩下都出现两次,找出出现一次的元素3.2.5 数组中,只有两个数出现一次,剩下都出现两...原创 2019-07-15 13:30:07 · 5428 阅读 · 3 评论 -
算法学习系列 -- 二分查找
二分查找可以说是最常见的查找了,再加上最近在系统梳理算法相关的内容,本着实践大于理论的原则,争取对于常见的算法都手动撸一遍。OK,废话少说,直接上PHP版本的二分查找算法。如果元素不存在,下面的算法会返回元素会被插入的位置。<?php //对于二分查找算法而言,要求数据是有序的O(logn)//而对于二叉查找树而言(logn),要求数据是无序的,否则就会退化为顺序查找O(...原创 2019-07-28 18:52:21 · 4875 阅读 · 1 评论