![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode每日一题
日常刷题
空空·如也
这个作者很懒,什么都没留下…
展开
-
605. 种花问题
贪心,思路:要判断一个位置是否可以种花,需要知道它前一个与后一个位置是否为零,为零可以种,不为零就不可以。其实就变成了三个连续的位置是否为零。再处理一下特例,长度为一与数组开头与结尾的。为何开头两个位置为零,就一定要种到第一个位置呢?比如:三个坑,肯定是 1 0 1,不可能是 0 1 0,四个坑不影响,五个坑,1 0 1 0 1最多。当开头为一时最佳。public boolean canPlaceFlowers(int[] flowerbed, int n) { int len =原创 2021-01-02 17:56:21 · 94 阅读 · 0 评论 -
860. 柠檬水找零
代码:简单题,根据题意,模拟即可。class Solution { public boolean lemonadeChange(int[] bills) { int fiveNums = 0, tenNums = 0; for (int bill : bills) { if (bill == 5) fiveNums++; else if (bill == 10) { if (fiveN原创 2020-12-10 15:44:13 · 49 阅读 · 0 评论 -
1122. 数组的相对排序
首次代码:这里的排序已经不是对数组的大小进行排序了,是从新定义了一个优先级,arr2就是这个优先级,0 - arr2.length,值越小优先级越大。所以就重新定义一个map[arr2[i], i],没在arr2里的值就是arr1 + arr2.length;class Solution { public int[] relativeSortArray(int[] arr1, int[] arr2) { //0 <= arr1[i], arr2[i] <= 1000原创 2020-12-09 20:54:54 · 92 阅读 · 0 评论 -
1356. 根据数字二进制下 1 的数目排序
第一次的代码很有问题啊。代码:class Solution { public int[] sortByBits(int[] arr) { List<Integer> arrList = new ArrayList<>(); for (int value : arr) { arrList.add(value); } arrList.sort(new Comparator<Integ原创 2020-12-09 20:09:09 · 56 阅读 · 0 评论 -
861. 翻转矩阵后的得分
贪心:为了确保得到的值最大,数组第一列必须是1,首先就可以对二维数组的第一列不是1的记录进行反转,然后再处理列,每列中的1的个数大于一半,就进行反转。这样就能确保得到的值最大。代码:这是第一次过题代码,对二维数组进行了反转,其实不用,只需要求值就可以了。class Solution { public int matrixScore(int[][] A) { int row = A.length, column = A[0].length; for (int i原创 2020-12-07 15:24:35 · 60 阅读 · 0 评论 -
118. 杨辉三角
代码class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> generate = new ArrayList<>(); if (numRows == 0) return generate; // 处理第一行 List<Integer> list原创 2020-12-06 21:29:55 · 42 阅读 · 0 评论