
leetcode刷题
RookieZc
愿望是世界和平,大家吃好喝好
展开
-
LeetCode刷题06-84.柱状图中最大的矩形 首尾补0骚操作秀哭我
单调栈大家学过的都能想得到 给的测试用例比较友好五分钟就能通过但是遇到{2,2,4} {4,4,4,4,6} {10,11,11,11,11}这种就完了 我不得不说正常不对数组进行预处理的话,要对两端的数进行特殊的判断计算 我写了快一个小时把自己绕懵了也没写出来{2,2,4}这种数组的正确处理情况 大神的代码一语道破天机 首尾补0!!! 首位补0以后原数组的第一个数就不用单独处理左边界了;尾部补0以后,如果碰上 {1,2,3,4}这种不弹出栈的,也能因为最后一个0逼所有的数弹出去;而0因为乘以别的数都是0所原创 2020-11-17 12:29:24 · 129 阅读 · 0 评论 -
LeetCode刷题05-42. 接雨水 超详细五种解法!
这是字节跳动面试题库里面的题,也是上手做的第一道困难的题 五种解法,层层递进的思路题目五种解法从此开始一、一行一行算(也是我的方法)超时了可以不看思路逐句注释的代码实现二、按照列求思路逐句注释的代码实现三、动态规划(优化刚才的按列)思路逐句注释的代码实现四、双指针(把刚才上升的空间复杂度给降下来成为指标最优的解法)思路逐句注释的代码实现五、栈思路逐句注释的代码实现 题目 五种解法从此开始 一、一行一行算(也是我的方法)超时了可以不看 说实话,这道题看完一瞬间我就冒出了这个想法,并且五分钟写完代码(代码习原创 2020-10-19 15:58:02 · 710 阅读 · 0 评论 -
LeetCode刷题04-6. Z 字形变换
import java.util.ArrayList; import java.util.List; class Solution { public String convert(String s, int numRows) { /** * 下面判断要是行数是1行那就不用操作直接返回了 */ if (numRows < 2) return s; /** * 开始正式操作 新建一个list原创 2020-10-18 22:57:13 · 249 阅读 · 0 评论 -
LeetCode刷题03-2. 两数相加
题目 这是Leetcode题库的第二题,好多人题目都看不懂,建议直接看优秀解答题目一. 我自己的垃圾解法我的思路二. 优秀解答我们来梳理一下思路 03-2. 两数相加 一. 我自己的垃圾解法 击败了21%的用户还说什么呢 我的思路 首先想一下加法计算原理,对位数字相加,大于大于等于10要向下一位进位,下一位相加时候带上刚才的进位。 (好像思路也没啥要讲的 ,直接看代码吧= =) /** * Definition for singly-linked list. * public class ListN原创 2020-10-18 15:36:38 · 492 阅读 · 0 评论 -
LeetCode刷题02-369.给单链表加一
这是我觉得我讲的很清楚的一个双指针解法,可以直接点目录跳到逐句代码讲解看题目先讲一下这个链表的节点类吧好了开始讲思路逐句注释的代码在这 题目 给单链表加一 自己没想出来哈哈哈哈(尴尬????,因为我居然没看懂那个简单链表的定义 ———————————————————— 先讲一下这个链表的节点类吧 高手直接跳过,像我这种刚起步刷题的可以看看 /** * Definition for singly-linked list. * public class ListNode { * int val原创 2020-10-16 17:13:57 · 411 阅读 · 0 评论 -
LeetCode刷题01-997.有序数组的平方
题目1 我的思路: 肯定是挨个平方然后再sort排序呗。 写代码时候居然忘了sort怎么用。。。 import java.util.Arrays; 这个包里面,sort括号里面直接放需要排序的数组就行。 class Solution { public int[] sortedSquares(int[] A) { int[] noSortedB = new int[A.length]; for (int i = 0; i < A.length; i++) {原创 2020-10-16 16:54:29 · 114 阅读 · 0 评论