算法
文章平均质量分 79
虐汪狂人巴甫洛夫
talk is cheap,show me your code.
展开
-
12354 组合的数字 找比该数据最大中的最小数字
12354 组合的数字 找比该数据最大中的最小数字思路:从后往前遍历得到一个相邻的后面比前面大的数据索引位置 从当前索引到数组最大位置建立两个指针,left为当前索引值var[left],right为最大位置索引代表到值var[right],若val[right] > var[left]则交换 交换后继续交换当前索引到数组最大位置建立两个指针中间的值,因为当前索引后面 前面大...原创 2020-01-04 13:44:37 · 599 阅读 · 0 评论 -
动态规划之最长递增子序列 最长不重复子串 最长公共子序列
【前言】动态规划:与分治法相似,即通过组合子问题来求解原问题,不同的是分治法是将问题划分为互不相交的子问题,递归求解子问题,再将他们组合起来求出原问题的解。动态规划则应用于子问题重叠的情况,通常用来求解最优化问题。这类问题可以有很多可行解,每个解都有一个值,我们希望寻找最优值的解。通常有4个步骤来设计动态规划算法:1.刻画一个最优解的结构特征。2.递归地定义最优解的值。3.计算原创 2016-05-11 16:19:40 · 4208 阅读 · 1 评论 -
Majority Element解决:Moore's Voting Algorithm
【前言】最近再刷leetcode的时候,遇到了一道关于主要元素的题目,题目如下:Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is n原创 2016-06-01 10:47:50 · 900 阅读 · 0 评论 -
二叉树的构建以及深度优先遍历 广度优先遍历
【前言】 二叉树的遍历过程就是根据某一顺序访问树中的节点,树的几种常用遍历方法有:前序遍历、中序遍历以及后序遍历。由于二叉树属于一个无环的图,所以图中的深度优先遍历和广度(广度)优先编历也适用于二叉树。【1.深度遍历描述】深度遍历是向深度搜索的过程,沿着各分支路径走到尽头,再返回遍历其他的节点。二叉树是无环的结构,在遍历时候只需将各个节点压入栈中,无需标记节点是否已经访问。深度优先遍历路径是根原创 2016-05-13 15:41:40 · 810 阅读 · 0 评论 -
数据排序之TopK问题
【前言】在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“topK”问题【解决思路】针对topK类问题,通常比较好的方案是【分治+trie树/hash+小顶堆】,即先将数据集按照hash算法分解成多个小数据集,然后使用trie树或者hash表统计每个小数据集中的query词频,之后用小顶堆求出每个数据集中出原创 2016-05-27 15:27:51 · 6013 阅读 · 0 评论