上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 31 下一页
摘要: 一、题目描述 二、解法 class Solution { public int removeDuplicates(int[] nums) { if (nums == null || nums.length == 0) return 0; int index = 0; for (int i = 0; 阅读全文
posted @ 2020-12-05 12:11 不学无墅_NKer 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 一、题目描述 二、解法 思路1:与LeetCode283. 移动零 思路一模一样,相当于把所有等于val的值移到最后。(保持元素的顺序不变) 思路2:每遇到一个元素等于val时,将当前元素与最后一个元素交换,并释放最后一个元素。(元素顺序改变) 分析:思路2中赋值的次数等于要删除元素的数量,因此如果 阅读全文
posted @ 2020-12-05 11:27 不学无墅_NKer 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 一、题目描述 二、解法 class Solution { public void moveZeroes(int[] nums) { if (nums == null || nums.length == 0) return; /** * 方法1: 双指针,两次遍历 -> 把非0的往前挪,然后补0 */ 阅读全文
posted @ 2020-12-05 10:39 不学无墅_NKer 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 一、认识布隆过滤器 场景:如果遇到网页黑名单系统、垃圾邮件过滤系统、爬虫的网站判重系统等题目,又看到系统容忍一定程度的失误率,但是对空间要求比较严格,那么大概率考布隆过滤器的知识。 一个布隆过滤器精确地代表一个集合,并可以精确判断一个元素是否在集合中。 到底有多精确取决于具体的设计,但完全正确是不可 阅读全文
posted @ 2020-11-30 17:56 不学无墅_NKer 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 一、理论 LRU是一种缓存淘汰策略,最近使用的认为是「有用的」,很久没使用过的数据认为是无用的,缓存满时就优先删除它们。 LRU- Least recently used(最近最少使用页面置换算法、按访问的时序来淘汰) LFU- Least frequently used(最近最不常用页面置换算法、 阅读全文
posted @ 2020-11-30 16:38 不学无墅_NKer 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 一、理论 并查集的定义: 并查集是一种树型的数据结构,用于处理一些不交集的合并和查询问题。一般用数组实现。 Find:确定元素属于哪一个子集,它可以被用来确定两个元素是否属于同一个子集。 Union:将两个子集合并成同一个集合。 并查集的优化: 优化1: 降低rank,提高查询效率。合并时要考虑ra 阅读全文
posted @ 2020-11-30 11:36 不学无墅_NKer 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 一、理论 递归问题 -> 重叠子问题、最优子结构 -> 记忆化搜索(自顶向下) -> 动态规划(记忆化 + 自底向上) 动态规划(Dynamic Programming),即动态递推(递归 + 记忆化 -> 递推)。动态规划问题的一般形式就是求最值。 1. 状态的定义:opt[n],dp[n],fi 阅读全文
posted @ 2020-11-29 20:45 不学无墅_NKer 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 一、理论 常用的位运算: X & 1 == 1 OR == 0 :判断奇偶 X = X & (X - 1) : 清零最低位的1 (常用来求二进制位有多少个1) X & -X : 得到最低位的1, -X就是按位取反末尾加1,。 例如X为10100,-X为01100 X & (1 << (n - 1)) 阅读全文
posted @ 2020-11-24 15:33 不学无墅_NKer 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 一、理论 1. 基本结构 Trie树,即字典树或单词查找树。典型应用是用于统计和排序大量的字符串(不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 2. 核心思想 空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效 阅读全文
posted @ 2020-11-23 20:48 不学无墅_NKer 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 一、理论 适用二分查找的条件:1. 单调递增或递减 ; 2. 存在上下界; 3.能够通过索引访问(数组) Tips:题目中看见 数组 + 有序,要第一时间想到 二分 !!! 【循环不变量】的设计:声明的 left 和 right 的意义不同,二分查找的边界就不同,因此需要理解 left 和 righ 阅读全文
posted @ 2020-11-23 10:36 不学无墅_NKer 阅读(123) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 31 下一页