随笔分类 - 算法问题
算法问题
摘要:在简单的签到记录表中,如何快速计算您已经连续签到几天? 假如你已经拿到了所有的签到记录日期类似于 <?php $list = [ '2022-08-21', '2022-08-20', '2022-08-19', '2022-08-12' ]; 该如何判断呢? 写个函数 <?php function
阅读全文
摘要:同事遇到一个一组菜单数据中找到三层菜单名称一样的情况下拼接二级菜单的问题. 比如数据是这样的 最终结果应该是这样 他采用了好多次循环来解决这个问题,先循环拿到三级菜单的列表形成一个set集合,然后循环列表判断一下是不是在里面重复了,如果是则拿出来添加二级菜单名称追加到一个新的列表中,否则直接追加到新
阅读全文
摘要:同事提出一个问题,关于牛生小牛的算法,之前的牛生小牛的算法都是假设牛不死的情况下的,几年生一头,若干年后还有多少头,这个算法是有些变化的。 农场第一年有一头牛,假设这头牛每2年生一次小牛,小牛迅速长大,2年后又能生小牛,但是牛活到5岁的时候回自然的死去,那么求第N年还有多少牛。 我想,这个问题的难点
阅读全文
摘要:LRU算法的解释详情请见 https://baike.baidu.com/item/LRU/1269842 这里百度百科给出的比较详细,然后后面有一个例子 说 LRU(least recently used)最近最少使用。 假设 序列为 4 3 4 2 3 1 4 2 物理块有3个 则 首轮 4调入
阅读全文
摘要:约瑟夫环问题,是经典的算法题。百度百科解释如下 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依次规律重复下去,直到圆桌周围的人全部出列。通常
阅读全文
摘要:一个乱序数组 要求按照奇偶数分离 然后奇数从小到大输出 偶数从小到大输出 代码如下:
阅读全文
摘要:冒泡排序比较简单。作为很多公司面试笔试题常常出现,要求手写该排序算法。双层循环,不断的与后面的比较,如果大于后面的,调换两者顺序即可。 演示效果如图: 代码如下: 调用代码如下: 效果如图:
阅读全文
摘要:关于快速排序的介绍 请看百度百科讲解的很详细 http://baike.baidu.com/link?url=1VOpp4qjdwKma81MFPozjvyPy2rYJos6ZmfP5Ady3xjEP8b3Vzn0WivTtDQ23sGHjUWAu0oAMp3R5jTlOx-7NWmmd3XSkKE
阅读全文
摘要:有100盏灯和100个开关,刚开始的时候灯全是灭的,someone第一轮按下所有开关(开的按一下变灭,灭的按一下变开),第二轮隔一个按一下(偶数个按),第三轮隔2个(3的倍数个按),求第100轮之后有多少盏灯是亮的。 <?php //解法1 //遍历解法 $array=array_fill(1,10
阅读全文