算法
文章平均质量分 83
卡卡卡卡热浪袭来
这个作者很懒,什么都没留下…
展开
-
日常,每n 天完成m 题
84.柱状图中最大的矩形给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。解法一:可以枚举柱子的组合,使用两重for 循环的暴力解法。解法二:枚举柱子,分别向左右找。这个的思想就是以当前的柱子为中心,同时认为当前柱子的高度是组合中最低的,想找到其他的柱子和它配合,找到面积最大化的组合。 public int largestRectangleArea(int[] heights) ...原创 2021-10-23 12:57:44 · 757 阅读 · 0 评论 -
力扣经典题目解法记录(更新中)
力扣算法题库引用自:https://cloud.tencent.com/developer/article/1671018基础排序算法快速排序 归并排序 冒泡排序二分查找数组 4. 寻找两个正序数组的中位数 33. 搜索旋转排序数组 直接使用二分法 287. 寻找重复数 dict 34. 在排序数组中查找元素的区间 取开始下标(mid = (l + r) // 2); 取结束下标(mid = (a + b + 1) // 2) 矩阵 240. 搜索二维...原创 2021-03-25 10:26:41 · 2376 阅读 · 2 评论 -
BFS,计算在网格中从原点到特定点的最短路径长度,
如下,二维数组,求从第一个点(0,0)到某个特定点(tr,tc)的最短路径长度。代码中有详细的注释二维数组:[ [1,1,0,1], [1,0,1,0], [1,1,1,1], [1,0,1,1]]其中:1表示可以经过某个位置,0代表此位置不可走,求解从 (0, 0) 位置到 (tr, tc) 位置的最短路径长度。 代码: public static int ...原创 2018-09-19 16:35:20 · 2339 阅读 · 0 评论 -
Leetcode各题 个人理解(持续更新)LeetCode java
持续更新 2.Add Two Numbers循环的时候要按照while(l1!=null || l2!=null)这样,判断条件应该为或。因为比如99+9999,这种情况,或就可以全部包含 3. Longest Substring Without Repeating Characters其中一个解法 滑动窗口,就是在一个字符串中,从头到尾,一个i-j范围区间内,从前到后搜,...原创 2018-10-12 15:14:28 · 195 阅读 · 0 评论 -
使用堆,topN问题
public class Test { public static void main(String[] args) { //生成一个数组 int[] arrays = buildArray(30); printArray(arrays); getTopN(arrays,10); printArray(...原创 2018-10-22 13:54:45 · 336 阅读 · 0 评论