LeetCode
文章平均质量分 60
正在刷力扣的Raven
这个作者很懒,什么都没留下…
展开
-
695.岛屿的最大面积(力扣)-JAVA-深度优先搜索和广度优先搜索详解
一.题目描述给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。二.深度优先搜索和广度优先搜索详解1.深度优先搜索首先我们了解一下深度优先搜索,即从一个头结点开始,按一定的数据结构访问与头结点相连原创 2022-02-03 17:54:43 · 735 阅读 · 0 评论 -
167.两数之和II-输入有序数组(力扣)-JAVA-两种双指针方法
167.两数之和II-输入有序数组题目描述1.双指针法我们可以观察原数组得到(这里建议大家画图看看,真的非常清晰),因为题目一定有解,解唯一且数组按升序排列,所以我们不妨让left指针指向数组中未访问过的最小值(即从numbers[0]开始向右移动);让right指针指向数组中未访问过的最大值(即从numbers[n-1]开始向左移动)。若此时numbers[left]+numbers[right]>target,则将right指针向左移动right--(即用第二大的数与最小数相加试试),同原创 2022-01-20 18:39:07 · 595 阅读 · 0 评论 -
283.移动零(力扣)-Java-快速排序-双指针
283.移动零(力扣)-Java-快速排序-双指针先了解一下快速排序1.从数组中选择一个元素值作为基准元素(通常选择第一个元素值-temp=nums[0])2.设定起始位置-left -nums[0],末尾位置-right[n]3.先从末尾 right 开始比较,大于基准数据则 right - -;小于基准数据则将 right 位置的值赋给 left 位置,再将 left ++4.若 执行 left = right ,再从开始 left 开始比较,大于基准数据则将 left 位置值赋给 rig原创 2022-01-16 17:00:26 · 200 阅读 · 0 评论 -
977.有序数组的平方(力扣)Java-三种方法详解
977.有序数组的平方(力扣)Java-三种方法详解题目描述给你一个按非递减顺序排序的整数数组 nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]有序数组平方的三种解法1. 直接排序创建一个新数组,遍历存放原数组各数平方后值,通过Arrays.sort(新数组名);进行排序。pu原创 2022-01-15 20:02:29 · 544 阅读 · 0 评论