LeetCode刷题
记录LeetCode刷题历程
那朵云好像只狗哦
这个作者很懒,什么都没留下…
展开
-
数组-769. 最多能完成排序的块
题目 769. 最多能完成排序的块 思路 数组是0-n排列,那么对于0-i的元素中最大值不小于i,即max(arr[0-i])>=i;如:数组为0-5的排列,则0-3的下标元素中最大的值不小于3。 那么如果0-i中有大于i的元素,必定i+1-n中有小于i的元素,那么这个i就不能作为划分的界限,因为0~i与i+1~n排好序后,前者中大于后者的数。 因此,只有max(arr[0~i])==i,这个i才能够作为界限。 public int maxChunksToSorted(int[]原创 2021-04-20 19:47:30 · 198 阅读 · 0 评论 -
数组-48. 旋转图像
题目 48. 旋转图像 代码 package com.ljl.array; /** * @description: 48. 旋转图像 * 思路: * 先看一下假如借助另一个矩阵该如何旋转,用4x4矩阵第一行举例: * (0,0)->(0,3) * (0,1)->(1,3) * (0,2)->(2,3) * (0,3)->(3,3) * ... * 可以得到一个元素旋转前后的位置关系如下: *原创 2021-04-18 21:51:14 · 206 阅读 · 0 评论 -
数组-448. 找到所有数组中消失的数字
题目: 448. 找到所有数组中消失的数字 分析: 核心点在于标记出已经出现过的数字,然后在通过遍历数组,找出没有出现过的数字。 方法一: 思路: 利用Set集合来存储数组中的元素,因为Set集合不可重复,所以数组中相同的元素只会在集合中存一次; 然后从1-n遍历,每个数都看下在Set集合中是否存在(contains方法),不存在的数即为要找的数 方法二: 思路: 利用数组本身来标记出现过的数字; 数的范围是[1,n],下标范围是[0,n-1]; 那是不是可以对于每出现的一个数x,就将x-1这个下标上的数乘原创 2021-04-15 22:07:42 · 237 阅读 · 0 评论