学习日记
文章平均质量分 71
minatosan
这个作者很懒,什么都没留下…
展开
-
【9.28】刷题
一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。输入:word1 = “intention”, word2 = “execution”输入:word1 = “horse”, word2 = “ros”输入:text1 = “abc”, text2 = “abc”解释:最长公共子序列是 “abc” ,它的长度为 3。原创 2022-09-28 19:37:58 · 212 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.27】
用的双指针~原创 2022-09-27 21:38:12 · 100 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.24】
如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。原创 2022-09-27 19:26:05 · 68 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.22】
子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums = [7,7,7,7,7,7,7]输出:1。原创 2022-09-22 19:51:11 · 88 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.20】
给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid = [[1,2,3],[4,5,6]]输出:12提示:通过次数417,585提交次数60来源:力扣(LeetCode)原创 2022-09-20 20:09:14 · 209 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.19】
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。原创 2022-09-19 11:22:25 · 266 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.17】
给你一个 m x n 的矩阵 mat 和一个整数 k ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:j - k原创 2022-09-17 14:01:31 · 148 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.16】
给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和。下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置 (row, col) 的下一个元素应当是 (row + 1, col - 1)、(row + 1, col) 或者 (row + 1, col + 1)。原创 2022-09-16 10:32:17 · 70 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.15】
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。原创 2022-09-15 15:46:04 · 184 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.14】
给你一个整数 n ,请你找出并返回第 n 个 丑数。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 10输出:12解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2:输入:n = 1输出:1解释:1 通常被视为丑数。原创 2022-09-14 11:39:33 · 142 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.13】
如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。子数组 是数组中的一个连续序列。示例 1:输入:nums = [1,2,3,4]输出:3解释:nums 中有三个子等差数组:[1, 2, 3]、[2, 3, 4] 和 [1,2,3,4] 自身。原创 2022-09-13 11:07:13 · 61 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.12】
它的每次计算相当于计算一个以top为角落的矩形size。感觉我的比较像第二个。我的解法是单调栈+前缀和,每次判断。原创 2022-09-12 13:22:39 · 80 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.11】
输入: s = “catsandog”, wordDict = [“cats”, “dog”, “sand”, “and”, “cat”]解释: 返回 true 因为 “applepenapple” 可以由 “apple” “pen” “apple” 拼接成。请你判断是否可以利用字典中出现的单词拼接出 s。输入: s = “applepenapple”, wordDict = [“apple”, “pen”]输入: s = “leetcode”, wordDict = [“leet”, “code”]原创 2022-09-11 14:06:18 · 58 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.10】
给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格;整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。原创 2022-09-10 11:53:10 · 69 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.9】
设计一个算法计算出最大利润。解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。答案用的dp[i][0~2]【三个】表示的,基本相同,空间比我大点。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。输入: prices = [1,2,3,0,2]输入: prices = [1]原创 2022-09-09 21:15:16 · 64 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.8】
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。原创 2022-09-08 18:13:44 · 83 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.7】
给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度。一个数组的子数组是由原数组中零个或者更多个连续数字组成的数组。请你返回乘积为正数的最长子数组长度。示例 1:输入:nums = [1,-2,-3,4]输出:4解释:数组本身乘积就是正数,值为 24。示例 2:输入:nums = [0,1,-2,-3,-4]输出:3解释:最长乘积为正数的子数组为 [1,-2,-3] ,乘积为 6。注意,我们不能把 0 也包括到子数组中,因为这样乘积为 0 ,不是正数。原创 2022-09-07 20:10:18 · 70 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.6】
给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。的乘积,所以不需要严格限定f数组和g数组的符号。链接:https://leetcode.cn/problems/maximum-product-subarray。解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解释: 子数组 [2,3] 有最大乘积 6。输入: nums = [2,3,-2,4]输入: nums = [-2,0,-1]子数组 是数组的连续子序列。原创 2022-09-06 16:48:12 · 69 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【9.5】
给定一个长度为 n 的环形整数数组 nums ,返回 nums 的非空 子数组 的最大可能和。环形数组 意味着数组的末端将会与开头相连呈环状。形式上, nums[i] 的下一个元素是 nums[(i + 1) % n] , nums[i] 的前一个元素是 nums[(i - 1 + n) % n]。子数组 最多只能包含固定缓冲区 nums 中的每个元素一次。原创 2022-09-05 19:31:39 · 120 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【8.7】
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/maximum-subarray著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...原创 2022-08-07 22:25:01 · 201 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【8.5】
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/jump-game著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...原创 2022-08-05 20:01:23 · 767 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【8.4】
第一题学到了:状态转移方程列了两个的话,可以看看能不能化成一个通项。第二题主要是没想到可以写一个rob函数将隔开的nums化解成一个个子问题,在遍历的过程中就解。我还是习惯于最后统一处理了。结果还是通项能力。要加强这方面的思想。...原创 2022-08-04 19:21:30 · 78 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【8.3】
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。根据每个房间金额≥0所以一定要尽可能多拿。因为不能拿相邻的,所以偷了的房间之间间隔1个或 2个(3个相当于间隔了1个还少拿),且一定从第0个开始或从第1个开始(从2个开始相当于从0开始还少拿)。...原创 2022-08-03 19:33:51 · 63 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【8.1】
打算进行leetcode的专项训练贪心BFSDFS回溯/递归模拟滑窗树图今天就先刷动态规划了。原创 2022-08-02 19:22:47 · 68 阅读 · 0 评论 -
找实习之从0开始的后端学习日记【8.2】
动规:状态转移方程中第i项只和第i-1,i-2项有关,且需全部求出时,可以用滚动数组。原创 2022-08-03 17:12:43 · 52 阅读 · 0 评论