算法与数据结构
黄山路443号
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
详细解析:mysql实现分组查询每个班级的前三名
8.2 mysql实现分组查询每个班级的前三名先上答案select a.class,a.score from student a where (select count(*) from student where a.class=class and a.score<score) <3order by a.class, a.score desc;解析:...原创 2020-04-18 14:58:54 · 2732 阅读 · 0 评论 -
缓存算法:LFU和LRU的JAVA实现
LFU、LRU的实现总结LFU和LRU均是常见的缓存算法,其中LFU表示最不经常使用,LRU表示最近最少使用。10.1 LRU(Least Recently Used)定义LRU (最近最少使用) 缓存机制要求支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数...原创 2020-04-06 00:56:49 · 1258 阅读 · 0 评论 -
LeetCode 32:最长有效括号——三种解法的总结思考
9. LeetCode 32:最长有效括号给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()” 输出: 2 解释: 最长有效括号子串为 “()” 示例 2:输入: “)()())” 输出: 4 解释: 最长有效括号子串为 “()()”来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl...原创 2020-04-02 00:08:34 · 448 阅读 · 0 评论 -
LeetCode 10:正则表达式匹配
7. LeetCode 10:正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。...原创 2020-03-28 15:53:29 · 288 阅读 · 0 评论 -
818. 赛车
818. 赛车问题描述:你的赛车起始停留在位置 0,速度为 +1,正行驶在一个无限长的数轴上。(车也可以向负数方向行驶。)你的车会根据一系列由 A(加速)和 R(倒车)组成的指令进行自动驾驶 。当车得到指令 “A” 时, 将会做出以下操作: position += speed, speed *= 2。当车得到指令 “R” 时, 将会做出以下操作:如果当前速度是正数,则将车速调整为 spe...原创 2020-03-24 14:21:18 · 532 阅读 · 0 评论 -
TopK问题的两种常见解法
5. TopK问题解法1:改进的快排 O(n)public int[] getLeastNumbers(int[] arr, int k) { if(arr.length<=k){return arr;} sort(arr,0,arr.length-1,k); return Arrays.copyOfRange(arr,0,k); ...原创 2020-03-20 21:20:09 · 326 阅读 · 0 评论 -
LeetCode410. 分割数组的最大值
LeetCode410. 分割数组的最大值给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。注意: 数组长度 n 满足以下条件: 1 ≤ n ≤ 1000 1 ≤ m ≤ min(50, n)示例:输入: nums = [7,2,5,10,8] m = 2输出: 18解释: 一共有四种方法将nums分...原创 2020-03-20 16:44:56 · 429 阅读 · 0 评论 -
LeetCode1156. 单字符重复子串的最大长度
3. LeetCode1156 : 单字符重复子串的最大长度1156. 单字符重复子串的最大长度如果字符串中的所有字符都相同,那么这个字符串是单字符重复的字符串。给你一个字符串 text,你只能交换其中两个字符一次或者什么都不做,然后得到一些单字符重复的子串。返回其中最长的子串的长度。大致思路:考虑一组字符串 s=“CDAABAABAAA”,其最长单字符重复子串必然是s[5]-s[10]...原创 2020-03-17 21:14:46 · 1287 阅读 · 0 评论 -
算法与数据结构(二) : 字符串的模式匹配算法
2. 字符串的模式匹配算法注意next数组含义KMP算法public class KMP { public static void main(String[] args) { char[] s = "ceabtcarbc".toCharArray(); char[] p = "tcarb".toCharArray(); System...原创 2020-03-17 15:25:55 · 306 阅读 · 0 评论 -
LeetCode经典题汇总
动态规划1. 最长回文子串(LeetCode 5): 给定一个字符串s,找到s中最长的回文子串。解法:动态规划O(n^2),Manacher算法O(n)2. 最大子序和(LeetCode 53):给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。解法:动态规划O(n),分治O(nlogn)3. 最大矩形(LeetCode...原创 2020-03-12 23:46:39 · 821 阅读 · 0 评论 -
算法与数据结构(一) : 动态规划 五种背包问题
1. 动态规划1.1 九类背包问题1.1.1 01背包问题: 有n件物品和容量为m的背包,给出每件物品的重量以及价值,且每种物品只有一个,求解让装入背包的物品重量不超过背包容量且价值最大的装法及总价值 。分析:计算最大价值:对于容量为v,且当正打算放第i件物品时,有三种情况容量v比第i件物品的重量小,放不下,只能不放第i件物品,此时和容量v,放第i-1件物品的情况一样,满足...原创 2020-03-08 01:10:08 · 460 阅读 · 0 评论
分享