接雨水

问题描述 https://leetcode-cn.com/problems/trapping-rain-water/ Solutions 暴力法:遍历数组中的每一个元素,并分别向左、向右寻找比当前元素大的最大元素,两者取其小,减掉当前元素就是当前元素上面可存储的水量

字符串匹配算法

问题描述 给定一个主字符串 text 和一个模式字符串 pattern,返回字符串 text 中和字符串 pattern 相同的子串的起始位置。 实现方法 BR暴力法 先找到和 s 中和 p 的

滑动窗口中位数

问题描述 给定一个数组,以及一个窗口,求出窗口中的数字的中位数 https://leetcode-cn.com/problems/sliding-window-median/ 怎么求中位数 插入排序法 用一个 arraylist 存储窗口内的数字 每次去掉窗口尾的一个数据,并按照

丑数系列

丑数 https://leetcode-cn.com/problems/ugly-number/ 判断一个数不是丑数难,但是判断一个数是否是丑数简单。 1 2 3 4 5 6 7 for i = 2,3,5 while(num % i == 0) num = num/i if(num == 1) return true; else return false; `` 丑数Ⅱ https://leetcode-cn.com/problems/ugly-number-ii/ 三指针法 超级丑数 https://leetcode-cn.com/problems/super-ugly-number/

数据流中的中位数

问题描述 https://leetcode-cn.com/problems/find-median-from-data-stream/ 实现思路 利用两个堆,一个大根堆low,存储前半部分数,一个小根堆high,存储后半部分数。 add(num): 1 2 3 4 5 6 if(low.size() > high.size()) low.offer(num) high.offer(low.poll()) else high.offer(num) low.offer(high.poll()) 进阶 如果数