随笔分类 - 算法学习
1
摘要:很久没有写总结了,这篇博客仅作为最近的一些尝试内容,记录一些心得。FFM的优势是可以处理高维稀疏样本的特征组合,已经在无数的CTR预估比赛和工业界中广泛应用,此外,其也可以与Deep Networks结合(如DeepFM等工作),很好地应用在数据规模足够大的工业场景中。Recurrent Entit
阅读全文
摘要:在之前的强化学习文章里,我们讲到了经典的MDP模型来描述强化学习,其解法包括value iteration和policy iteration,这类经典解法基于已知的转移概率矩阵P,而在实际应用中,我们很难具体知道转移概率P。伴随着这类问题的产生,Q-Learning通过迭代来更新Q表拟合实际的转移概
阅读全文
摘要:在上一篇文章中介绍了MDP与Bellman方程,MDP可以对强化学习的问题进行建模,Bellman提供了计算价值函数的迭代公式。但在实际问题中,我们往往无法准确获知MDP过程中的转移概率,因此无法直接将解决 MDP 问题的经典思路 value iteration 和 policy iterat
阅读全文
摘要:本文主要介绍强化学习的一些基本概念:包括MDP、Bellman方程等, 并且讲述了如何从 MDP 过渡到 Reinforcement Learning。 1. 强化学习基本概念 这里还是放上David Silver的课程的图,可以很清楚的看到整个交互过程。这就是人与环境交互的一种模型化表示,在每个时
阅读全文
摘要:数据结构中为了存储和查找的方便,用各种树结构来存储文件,本章就浅谈一下各种树的表示方法、特点及各自的用途,本章设计的树结构包括:二叉查找树(二叉排序树)、平衡二叉树(AVL树)、红黑树、B-树、B+树、字典树(trie树)、后缀树、广义后缀树。 1、二叉查找树(二叉排序树) (图a) 二叉查找树是一
阅读全文
摘要:问题:找出一个数组里面前K个最大数。 解法一(直接解法): 对数组用快速排序,然后直接挑出第k大的数。这种方法的时间复杂度是O(Nlog(N))。N为原数组长度。 这个解法含有很多冗余,因为把整个数组都排序了,而实际上我们不需要这样做。 解法二(K数组排序): 首先,创建一个长度为K的空数组。从原数
阅读全文
摘要:这道题是LeetCode上的题目,难度级别为5,刚开始做没有找到好的思路,以为是自己智商比较低,后来发现确实也比较低。。。 题目: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the m
阅读全文
摘要:Dijkstra算法 Dijkstra 算法是一种用于计算带权有向图中单源最短路径(SSSP:Single-Source Shortest Path)的算法。其解决的问题是:给定图和源顶点,找到从至图中所有顶点的最短路径。 Dijkstra 算法采用贪心算法(Greedy Algo
阅读全文
摘要:题目: Generate Parentheses Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n
阅读全文
摘要:Smith-Waterman算法是1981年Smith和Waterman提出的一种用来寻找并比较具有局部相似性区域的动态规划算法,很多后来的算法都是在该算法的基础上发展的。这是一种两序列局部比对算法,把两条未知的序列进行排列,通过字母的匹配,删除和插入操作,使得两条序列达到同样长度,在操作的过程中,
阅读全文
摘要:端口 时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述:为了节省信息传递的数据量,A公司内部经常用一种简单的压缩方法来处理端口地址。举例: [001011:110011:101101:000000]→[101
阅读全文
摘要:二叉树是一种非常经典的数据结构。如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。 下面我们随意构造出一棵二叉树,计算它的最大距离,如上图,节点之间单位距离为1,最大距离(红色线条)为5。 考虑
阅读全文
摘要:一、汉字编码的种类 汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。 1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占67
阅读全文
摘要:题目描述对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。给定字符串A以及它的长度n,请返回最长回文子串的长度。 测试样例:"abc1234321ab",12 返回:7 1. 普通轮询(运行时间80ms): 附:Leetcode上一个不错的递归解法: 2. 动态规划(运行时间40ms)
阅读全文
摘要:题目描述对于一个字符串,我们想通过添加字符的方式使得新的字符串整体变成回文串,但是只能在原串的结尾添加字符,请返回在结尾添加的最短字符串。给定原字符串A及它的长度n,请返回添加的字符串。保证原串不是回文串。 测试样例:"ab",2 返回:"a" 分析: 这是一个讨巧的办法,问题分解1、找到最长的回文
阅读全文
摘要:题目描述把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?注意:5、1、1 和 1、5、1 是同一种分法,即顺序无关。 输入描述:输入包含多组数据。 每组数据包含两个正整数 m和n(1≤m, n≤20)。 输出描述:对应每组数据,输出一个整数k,表示有k种不
阅读全文
摘要:题目: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can yo
阅读全文
摘要:题目: There are N children standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected to the followin
阅读全文
摘要:题目来源:牛客网 众所周知计算机代码底层计算都是0和1的计算,牛牛知道这点之后就想使用0和1创造一个新世界!牛牛现在手里有n个0和m个1,给出牛牛可以创造的x种物品,每种物品都由一个01串表示。牛牛想知道当前手中的0和1可以最多创造出多少种物品。 输入描述: 输入数据包括x+1行:第一行包括三个整数
阅读全文
摘要:1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支
阅读全文
1