04 2023 档案

摘要:结束本轮的刷题任务 感受颇多 基本体现在双指针 回溯以及动规上 使用双指针法,定义两个指针(也可以说是索引下标),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素。,时间复杂度是O(n) 回溯算法能解决如下问题: 组合问题:N个数里面按一定规则找出k个数的集合 排列问题:N个数 阅读全文
posted @ 2023-04-30 09:14 刷刷题啊呀呀 阅读(23) 评论(0) 推荐(0) 编辑
摘要:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 class Solution { public int largestRectangleArea(int[] heights) { if (heights == 阅读全文
posted @ 2023-04-30 09:07 刷刷题啊呀呀 阅读(7) 评论(0) 推荐(0) 编辑
摘要:给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。 示例 1: 输入: [1,2,1] 输出: [2,-1 阅读全文
posted @ 2023-04-30 09:04 刷刷题啊呀呀 阅读(20) 评论(0) 推荐(0) 编辑
摘要:update流程与mount流程的区别。 对于beginWork: 需要处理ChildDeletion的情况 需要处理节点移动的情况(abc -> bca) 对于completeWork: 需要处理HostText内容更新的情况 需要处理HostComponent属性变化的情况 对于commitWo 阅读全文
posted @ 2023-04-28 17:11 刷刷题啊呀呀 阅读(25) 评论(0) 推荐(0) 编辑
摘要:请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1 阅读全文
posted @ 2023-04-27 10:21 刷刷题啊呀呀 阅读(20) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入:"abc" 输出:3 解释:三个回文子串: "a", "b", "c" 示例 2: 输入:"aaa" 输出:6 解释:6个回文子串: "a 阅读全文
posted @ 2023-04-27 08:49 刷刷题啊呀呀 阅读(42) 评论(0) 推荐(0) 编辑
摘要:给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: "sea", "eat" 输出: 2 解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea" 确定dp数组(dp table) 阅读全文
posted @ 2023-04-25 08:02 刷刷题啊呀呀 阅读(23) 评论(0) 推荐(0) 编辑
摘要:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 示例 1: 输入:s = "abc", t = "ahbgdc" 输出: 阅读全文
posted @ 2023-04-24 08:55 刷刷题啊呀呀 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 阅读全文
posted @ 2023-04-24 07:35 刷刷题啊呀呀 阅读(18) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums = [10,9,2,5,3,7,101,18] 阅读全文
posted @ 2023-04-21 23:18 刷刷题啊呀呀 阅读(15) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。 示例 阅读全文
posted @ 2023-04-21 22:24 刷刷题啊呀呀 阅读(19) 评论(0) 推荐(0) 编辑
摘要:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 一天一共就有五个状态, 没有操作 (其实我们也可以不设置这个状态) 第一次持有股票 第一次 阅读全文
posted @ 2023-04-19 11:09 刷刷题啊呀呀 阅读(6) 评论(0) 推荐(0) 编辑
摘要:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0  阅读全文
posted @ 2023-04-19 10:15 刷刷题啊呀呀 阅读(19) 评论(0) 推荐(0) 编辑
摘要:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 阅读全文
posted @ 2023-04-17 16:24 刷刷题啊呀呀 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", " 阅读全文
posted @ 2023-04-17 15:02 刷刷题啊呀呀 阅读(20) 评论(0) 推荐(0) 编辑
摘要:实现第一个测试工具test-utils 实现测试环境 实现ReactElement用例 实现测试环境 pnpm i -D -w jest jest-config jest-environment-jsdom 配置: const { defaults } = require('jest-config' 阅读全文
posted @ 2023-04-17 14:17 刷刷题啊呀呀 阅读(10) 评论(0) 推荐(0) 编辑
摘要:实现Hooks的数据结构 fiberNode中可用的字段: memoizedState updateQueue 实现useState 包括2方面工作: 实现mount时useState的实现 实现dispatch方法,并接入现有更新流程内 阅读全文
posted @ 2023-04-15 19:11 刷刷题啊呀呀 阅读(11) 评论(0) 推荐(0) 编辑
摘要:react内部3个阶段: schedule阶段 render阶段(beginWork completeWork) commit阶段(commitWork) commit阶段的3个子阶段 beforeMutation阶段 mutation阶段 layout阶段 当前commit阶段要执行的任务: fi 阅读全文
posted @ 2023-04-14 14:10 刷刷题啊呀呀 阅读(19) 评论(0) 推荐(0) 编辑
摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 确定dp数组以及下标的含义 dp[i]:爬到有i个台阶的楼顶,有dp[i]种方法。 确定递推公式 在动态规划:494.目标和 (opens new window)、 动态规划:51 阅读全文
posted @ 2023-04-14 09:42 刷刷题啊呀呀 阅读(10) 评论(0) 推荐(0) 编辑
摘要:给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。 示例: nums = [1, 2, 3] target = 4 所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1) 请注意 阅读全文
posted @ 2023-04-13 22:47 刷刷题啊呀呀 阅读(189) 评论(0) 推荐(0) 编辑
摘要:有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下: 如果 x == y,那么两块石头都会被完全粉碎; 如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重 阅读全文
posted @ 2023-04-13 22:28 刷刷题啊呀呀 阅读(10) 评论(0) 推荐(0) 编辑
摘要:dp[i][j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。 那么可以有两个方向推出来dp[i][j], 不放物品i:由dp[i - 1][j]推出,即背包容量为j,里面不放物品i的最大价值,此时dp[i][j]就是dp[i - 1][j]。(其实就是当物品i的 阅读全文
posted @ 2023-04-11 09:14 刷刷题啊呀呀 阅读(17) 评论(0) 推荐(0) 编辑
摘要:给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 dp[3],就是 元素1为头结点搜索树的数量 + 元素2为头结点搜索树的数量 + 元素3为头结点搜索树的数量 元素1为头结点搜索树的数量 = 右子树有2个元素的搜索树 阅读全文
posted @ 2023-04-10 23:09 刷刷题啊呀呀 阅读(10) 评论(0) 推荐(0) 编辑
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 输入:m = 3, n = 7 输出:28 想要求dp[i][j],只能有两 阅读全文
posted @ 2023-04-07 12:07 刷刷题啊呀呀 阅读(9) 评论(0) 推荐(0) 编辑
摘要:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你n ,请计算 F(n) 。 示例 1: 输入 阅读全文
posted @ 2023-04-07 11:55 刷刷题啊呀呀 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。) 示例 1: 输入: N = 10 输出: 9 示例 2: 输入: N = 1234 输出: 阅读全文
posted @ 2023-04-06 21:05 刷刷题啊呀呀 阅读(14) 评论(0) 推荐(0) 编辑
摘要:给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1 阅读全文
posted @ 2023-04-06 17:21 刷刷题啊呀呀 阅读(12) 评论(0) 推荐(0) 编辑
摘要:在柠檬水摊上,每一杯柠檬水的售价为 5 美元。 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。 注意,一开始你手头没有任何零钱。 如 阅读全文
posted @ 2023-04-04 10:03 刷刷题啊呀呀 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1005.K次取反后最大化的数组和给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后,返回数组可能的最大和。 示例 1: 输入:A = [4,2,3], 阅读全文
posted @ 2023-04-03 10:34 刷刷题啊呀呀 阅读(14) 评论(0) 推荐(0) 编辑
摘要:更新流程的步骤: 递:beginWork 归:completeWork beginWork 对于如下结构的reactElement: <A> <B/></A> 当进入A的beginWork时,通过对比B current fiberNode与B reactElement,生成B对应wip fiberN 阅读全文
posted @ 2023-04-01 22:33 刷刷题啊呀呀 阅读(17) 评论(0) 推荐(0) 编辑
摘要:122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6 阅读全文
posted @ 2023-04-01 11:11 刷刷题啊呀呀 阅读(23) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示