随笔分类 - leetcode
摘要:动规五部曲: 确定dp数组(dp table)以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历顺序 举例推导dp数组 509. 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。 这题我可太喜
阅读全文
摘要:455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子
阅读全文
摘要:for循环横向遍历,递归纵向遍历,回溯不断调整结果集 画树,回溯要画树 #77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 ==result.add(new ArrayList(path))==:开辟一个独立地址,地址中存
阅读全文
摘要:二叉树的构造默认如下: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNod
阅读全文
摘要:226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] ψ(`∇´)ψ 我的思路 还是用了层序遍历的方法,在该结点左右孩子入栈之后,互换左右指针 /** * Definiti
阅读全文
摘要:二叉树的递归遍历 递归的三要素 1.递归函数的参数和返回值 2.递归出口 3.单层递归的逻辑 ##144. 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 /** * Definition for a binary tree node. * public class
阅读全文
摘要:第一题150. 逆波兰表达式求值 根据 逆波兰表示法,求表达式的值。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 注意 两个整数之间的除法只保留整数部分。 可以保证给定的逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
阅读全文
摘要:第一题232.用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek()
阅读全文
摘要:今天就一题 459. 重复的子字符串 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 ψ(`∇´)ψ 我的思路 暴力循环:一个循环遍历出所有的字串,另一个循环判断输入的字符串是否可以由该子串重复组成 package string; public class Repeated
阅读全文
摘要:真的会谢,写好了博客没保存,毁灭吧,累了🥴 今天就一题 28. 找出字符串中第一个匹配项的下标 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的
阅读全文
摘要:第一题344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 ψ(`∇´)ψ 我的思路 取到字符串的中点,依次交换前后两部分的位置 package st
阅读全文
摘要:第一题454.四数相加II 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l]
阅读全文
摘要:什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 第一题 242.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 ψ(`
阅读全文
摘要:~~今天链表致死量~~ 第一题 public static class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode
阅读全文
摘要:第一题 其实这题我一直不理解为什么明明整个过程没有操作dummy,最后要返回dummy.next, dedug了一下发现是pre.next = cur.next;这一步的时候对dummy进行了更新, 之后又看了看动画演示,明白具体的操作,但还是不理解原因 结果我就发现我虽然不理解,但是我已经背下来了
阅读全文
摘要:2022/09/22 第二天 第一题 这题我就直接平方后排序了,很无脑但很快乐啊(官方题解是双指针 第二题 滑动窗口的问题,本来我也是直接暴力求解发现在leetCode上超时,看了官方题解,也是第一次了解滑动窗口。 第三题 螺旋矩阵是我用暴力没有解出来的题,我总数在找每行每列的规律,谁知道是转着圈存
阅读全文
摘要:2022/09/21 第一天 数组 第一题 第二题 思路: 交换数值为val的元素与最后一个元素的位置,并减少数组的长度
阅读全文