标签:算法
  米诺斯迷宫的传说来源于克里特神话,在希腊神话中也有大量的描述,号称世界四大迷宫之一。   米诺斯是宙斯和欧罗巴的儿子,因智慧和公正而闻名,死后成为了冥国的判官。由于米诺斯得罪了海神波塞冬,波塞冬便以神力使米诺斯的妻子帕西法厄爱上了一头公牛,生下了一个牛首人身的怪物米诺陶洛斯。这个半人半牛的怪物不
题目描述 运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。 写入数据 put(key, valu
数值的整数方 一、问题描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 二、算法思路 按照指数Exp的情况进行讨论。 Exp>0 Exp=0 Exp<0 三、算法实现 public class Solution {
矩形覆盖 一、问题描述 我们可以用2x1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2x1的小矩形无重叠地覆盖一个2xn的大矩形,总共有多少种方法? 二、算法思想 这题是通过递归的问题,类似于斐波那契数列问题,找到数列递推关系,加上初始值,可以用递归解决。当然也可以通过关系式推导出通项,利用迭代
这是悦乐书的第254次更新,第267篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第121题(顺位题号是532)。给定一个整数数组和一个整数k,您需要找到数组中唯一的k-diff对的数量。 这里k-diff对被定义为整数对(i,j),其中i和j都是数组中的数字,它们的绝
树的子结构 一、问题描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 二、算法实现 2.1、Java实现 /** public class TreeNode { int val = 0; TreeNode left = null;
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 class Solution: # array 二维列表 def Find
这是悦乐书的第255次更新,第268篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第122题(顺位题号是538)。给定二进制搜索树(BST),将其转换为更大树,使原始BST的每个键都更改为原始键加上所有键的总和大于BST中的原始键。例如: 输入:二进制搜索树的根,如下所
1. 前文回顾   在字符串算法—字典树(Tries)中,我们实现了在一堆字符串中寻找某个字符串的高效算法。但如果要从一段字符中,寻找某个字符串呢?   我们可以用字符串算法—字符串排序(下篇)中的后缀排序法(suffix arrays)来寻找关键词,但它消耗的内存有点大(毕竟要建一个超大的数组)。
数组的表示的方法:(1)结构数组存储非零项(二元数组) (2)链表存储非零项:每个结点包含系数和指数两个数据域以及一个指针域,coef-expon-link typedef struct PolyNode *Polynomial; struct PolyNode { int coef;
        研究了网上大部分的希尔排序代码,发现大部分都是互相抄的——因为网上甚至某些书上的实现大部分都是错的。希尔排序是插入排序的升级版,通过引入间隔,然后分组进行插入排序。再逐步缩小间隔,直至间隔为1时,做全数组的插入排序。dart 代码如下: 1 void shellSort<E
这是悦乐书的第256次更新,第269篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第123题(顺位题号是541)。给定一个字符串和一个整数k,你需要反转从字符串开头算起的每2k个字符的前k个字符。 如果剩下少于k个字符,则反转所有字符。 如果小于2k但大于等于k个字符,
这是悦乐书的第257次更新,第270篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第124题(顺位题号是543)。给定二叉树,您需要计算树的直径长度。 二叉树的直径是树中任意两个节点之间最长路径的长度。 此路径可能会也可能不会通过根节点。例: 给出一棵二叉树 1
算法分析   在编写代码的某一时刻,自然会产生一段代码比另一段代码运行得更快的思想。算法分析的任务便是尽可能多地发现算法的性能特征,以便让程序员利用这些特征做出正确的选择。在分析之前,首先要了解影响算法性能的因素并排除一些混淆视听的干扰项。 数据对性能的影响   也许我们都曾经遇到过这种情况,在某一
  这几天一直在宿舍跑PY模型,学校的ACM寒假集训我也没去成,来学校的时候已经18号了,突然加进去也就上一天然后排位赛了,没学什么就去打怕是要被虐成渣,今天开学前一天,看到最后有一场大的排位赛,就上去试了一下,果然被虐成渣,十二道题目在有限时间内就做了四道,还有一道疯狂的WA,拿出两道
一、基于内容推荐 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对
前言 本文的所有代码用C++实现,若在代码段里发现未定义的行为,请到最后的完整代码里寻找该行为含义。若有错误敬请在评论区指正。谢谢您的阅读。 出发点 普通高精度每一位存一个数字,可是对于一个int型的存储空间,可存的最大数值为2147483647,只存一个数字是极大的空间浪费。因此,为了在节约空间的