自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 【MySQL】命令行:建立连接、退出当前命令行、退出mysql命令行

MySQL命令行:以管理员身份运行命令提示符:跳转到mysql所在位置:cd D:\MySQL\mysql-8.0.21-winx64\bin(如果没跳转成功,再跳一下:D:)mysql服务的启动和停止:net stop mysql;net start mysql(注意只有红字部分,没有“;”)建立连接:mysql -u root -p,也可在-p后加上密码,但可能导致密码泄露,最好不要加,键入上述命令后回车,会让输入密码查看当前运行的线程:show processlist;(注意有“;”)

2020-08-19 16:06:38 3096

原创 【二叉搜索树】Leetcode #700 二叉搜索树中的搜索

题目链接:#700 二叉搜索树中的搜索题目描述:#700. 二叉搜索树中的搜索给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和值: 2你应该返回如下子树: 2 / \ 1 3在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。通过次数32,1

2020-08-13 11:08:41 170

原创 【二叉搜索树】LeetCode #98 验证二叉搜索树(在所有 Java 提交中击败了 100.00% 的用户)

题目链接:LeetCode #98 验证二叉搜索树题目描述:#98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。根节点的

2020-08-13 10:26:30 226

原创 【链表】LeetCode #61旋转链表

题目链接:LeetCode #61旋转链表题目描述:#61. 旋转链表给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3

2020-08-13 09:36:26 133

原创 【链表】LeetCode #24 两两交换链表中的节点

题目链接:LeetCode #24 两两交换链表中的节点题目描述:#24. 两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.通过次数135,890 提交次数204,775分析:两两交换,如果是奇数,最后一位不动。如:1,2,3,4,5 交换后的结果应为 2,1,4,3,5方案如下:因为

2020-08-12 16:18:05 109

原创 【链表】LeetCode #2 两数相加(基于链表的两数相加,执行用时战胜 99.89%的Java提交)

题目链接:LeetCode #2 两数相加题目描述:#2. 两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 8

2020-08-12 11:09:52 151 1

原创 【链表】LeetCode #反转链表(两种方法:迭代法、递归法)

题目链接:LeetCode #反转链表题目描述:#206. 反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?通过次数295,766 提交次数422,186方法一:迭代法对于每个节点,需要做以下三步:保存当前节点的下一个节点 next;让当前节点 cur 指向前一个节点 pre;删除

2020-08-02 21:33:31 270

原创 【链表】LeetCode #203 移除链表元素

题目链接:LeetCode #203 移除链表元素题目描述:#203. 移除链表元素删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5通过次数92,417 提交次数201,211分析:本题是道简单题,但是想一次就A还是有点儿不容易的。需要注意的有以下几点:要做删除操作,需要找到的是被删节点的前一个节点,这样只需让 i.next

2020-08-01 20:09:53 135

原创 【链表】LeeTCode #160 相交链表(双指针,时间复杂度O(m+n))

题目链接:LeeTCode #160 相交链表题目描述:#160. 相交链表编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。

2020-08-01 17:11:50 256

原创 【链表】LeetCode #141环形链表(快慢指针)

题目链接:LeetCode #141环形链表题目描述:#141. 环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到

2020-08-01 15:33:51 138

原创 【链表】LeetCode #19 删除链表的倒数第N个节点(时间复杂度O(n),在所有Java提交中击败了100%的用户)

题目链接:LeetCode #19 删除链表的倒数第N个节点题目描述:#19. 删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?通过次数205,209 提交次数524,857分析:这个题的难度在于如何在一趟

2020-07-30 11:08:46 196

原创 【链表】LeetCode #83 删除排序链表中的重复元素 (两种方法)

题目链接:LeetCode #83 删除排序链表中的重复元素题目描述:#83. 删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3通过次数123,788 提交次数242,480方法一:直接对比当前结点的值 cur.val 与下一个结点的值 cur.next.val 是否相等,若相等

2020-07-30 10:21:37 183

原创 【链表】LeetCode #21 合并两个有序链表

题目链接:LeetCode #21 合并两个有序链表题目描述:#21. 合并两个有序链表(难度:简单)将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4通过次数325,435提交次数512,003分析:该题是链表题目中的基础题,太久没接触链表了,还是给自己绕了好久…定义两个指针 head、pre:初始化

2020-07-28 17:16:28 146

原创 【贪心算法】LeetCode #134 加油站

题目链接:LeetCode #134 加油站题目描述:#134. 加油站(难度:中等)在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1

2020-07-28 09:39:45 252

原创 【贪心算法】LeetCode #122 买卖股票的最佳时机 II

题目链接:LeetCode #122 买卖股票的最佳时机 II题目描述:#122. 买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易

2020-07-27 16:38:02 192

原创 【贪心算法】LeetCode #55 跳跃游戏

题目链接:LeetCode #55 跳跃游戏题目描述:#55. 跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的

2020-07-27 11:05:26 198

原创 【Java基础】i = i + 1,i += 1, i++, ++i 的区别

问题引入:最开始是因为看到了一个题:① short s1 = 1; s1 = s1 + 1;② short s1 = 1; s1 += 1;上面两条是否都可以成功编译?答:① 中,由于 1 是 int 类型的,因此 s1 + 1 也是 int 类型的,需要进行强制类型转换,才能赋值给 short;② 中,s1 += 1 就相当于 s1 = ((short)s1 + 1),+= 本身就隐含着强制类型转换,故可正确编译。问题拓展:上面涉及到了 += 和 s1 = s1 + 1 的区别,除了 +=

2020-07-26 17:37:59 819

原创 【贪心入门】LeetCode #455 分发饼干

(终于考完试了啊啊啊啊啊)题目链接:LeetCode #455 分发饼干题目描述:#455. 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。一个小

2020-07-21 10:08:03 184

原创 【递归】 LeetCode #面试题64 求1+2+...+n (巧用逻辑运算符“&&”、“||”设置递归的出口)

题目链接:LeetCode #面试题64 求1+2+…+n题目描述:#面试题64. 求1+2+…+n求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000通过次数44,332 | 提交次数51,623分析:这个题是把简单题加了诸多限制,变成了一道中等难度的题目。因为不能

2020-06-05 10:22:58 301

原创 【二维动态规划】 LeetCode #63 不同路径 II(执行用时在所有 Java 提交中击败了 100.00% 的用户)

题目链接:LeetCode #63 不同路径 II题目描述:#63. 不同路径 II一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[[0,0,0],[0,1,0],[0

2020-05-25 10:41:41 168

原创 【动态规划】 LeetCode #213 打家劫舍 II(空间复杂度 O(1))

题目链接:LeetCode #213 打家劫舍 II题目描述:#213. 打家劫舍 II你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: 你不能先偷窃 1 号房

2020-05-24 11:19:03 312

原创 【动态规划】 LeetCode #221 最大正方形

题目链接:LeetCode #221 最大正方形题目描述:#221. 最大正方形在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4通过次数52,943 | 提交次数124,937分析:遇到动态规划问题,先在本子上把过程画一遍,对于理解问题、确定状态转移方程式有奇效。动态规划,设 dp[i][j] 为到 matrix[i][j] 为止最大正方形的边长(即

2020-05-23 21:56:15 211

原创 【动态规划】 LeetCode #152 乘积最大子数组

题目链接:LeetCode #152 乘积最大子数组题目描述:#152. 乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。通过次数70,288 | 提交次数177,501分析:原来做过一个题,是

2020-05-23 10:19:18 229

原创 【动态规划】 LeetCode #面试题 08.01. 三步问题

题目链接:LeetCode #面试题 08.01. 三步问题题目描述:#面试题 08.01. 三步问题三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。示例1:输入:n = 3输出:4说明: 有四种走法示例2:输入:n = 5输出:13提示:n范围在[1, 1000000]之间通过次数7,771 | 提交次数22,802分析:1.这个题是爬楼梯问题的变形

2020-05-21 09:18:57 180

原创 【动态规划】 LeetCode #面试题17.16. 按摩师(双100%)

题目链接:LeetCode #面试题17.16. 按摩师题目描述:#面试题 17.16. 按摩师一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入: [2,7,9,3,1

2020-05-19 17:04:26 250

原创 【动态规划】 LeetCode #面试题42 连续子数组的最大和(双100%)

题目链接:LeetCode #面试题42 连续子数组的最大和题目描述:#面试题42. 连续子数组的最大和输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] &l

2020-05-19 09:05:53 238

原创 【动态规划】 LeetCode #338 比特位计数(时间复杂度 O(n))

题目链接:LeetCode #338 比特位计数题目描述:#338.比特位计数给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为O(n)。你能进一步完善解法吗?

2020-05-17 16:36:10 463

原创 【动态规划】 LeetCode #303 区域和检索 - 数组不可变

题目链接:LeetCode #303 区域和检索 - 数组不可变题目描述:#303. 区域和检索 - 数组不可变给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3说明:你可以假设数组不

2020-05-17 10:13:33 180

原创 LeetCode #1025 除数博弈(记一道动态规划标签下的数学题)

题目链接:https://leetcode-cn.com/problems/divisor-game/题目描述:#1025 除数博弈爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个

2020-05-16 19:09:29 259

原创 【动态规划】 LeetCode #121 买卖股票的最佳时机(可不创建数组)

题目链接:LeetCode #121 买卖股票的最佳时机题目描述:买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 =

2020-05-12 11:10:02 185

原创 【动态规划】 LeetCode #392 判断子序列

题目链接:LeetCode #392 判断子序列题目描述:判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:s = “abc”, t = “ahbgd

2020-05-11 20:07:48 299

原创 【动态规划】 LeetCode #72 编辑距离

题目链接:LeetCode #72 编辑距离题目描述:编辑距离给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘r’)rose -> ros

2020-05-10 21:28:36 185

原创 【动态规划】 LeetCode #322 零钱兑换

题目链接:LeetCode #322 零钱兑换题目描述:零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你可以认为每种硬币的数量是无限的。通过次数82

2020-05-10 10:33:44 230

原创 【动态规划】 LeetCode #62 不同路径(空间复杂度O(n))

题目链接:LeetCode #62 不同路径题目描述:不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向右 -> 向下向

2020-05-09 14:09:45 380

原创 【动态规划】LeetCode #198 打家劫舍(执行用时在Java提交中击败了100%的用户,不开辟新的空间)

题目链接:LeetCode #198 打家劫舍题目描述:打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输...

2020-05-06 13:59:35 228

原创 【动态规划】 LeetCode # 64 最小路径和 (空间复杂度为O(n))

题目链接:LeetCode # 64 最小路径和题目描述:最小路径和给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。第一次提交:本题属于路径问题,是经...

2020-05-05 16:14:50 416

原创 【二维动态规划】 LeetCode #120 三角形最小路径和(空间复杂度O(n))

前面做的题是线性动态规划,用dp[]存储结果,某些题经过优化可以用prev1和prev2存放结果,不必创建一位数组;今天的题用到的是二维动态规划,本题每次只会用到上一行的结果,故可以优化到只创建一位数组,优化会放到文章末尾。题目链接:LeetCode #120 三角形最小路径和题目描述:三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如...

2020-05-04 21:16:54 232

原创 【动态规划】 LeetCode #300 最长上升子序列

题目链接:LeetCode #300 最长上升子序列题目描述:300.最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。...

2020-05-03 18:05:56 240

原创 【动态规划】LeetCode #53 最大子序和

LeetCode #53 最大子序和53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。DP的重点在于如何定义 dp[n] ,以及确定状态转移方程式,上一个题 #70 爬楼梯所设即所求,...

2020-05-01 16:54:14 173

原创 【动态规划入门】LeetCode #70 爬楼梯

4月份想刷题,打开题目发现自己想的路子都不大对,于是4月份看了《漫画算法:小灰的算法之旅》前5章,稍微入门了。趁着五一假期,开启了100天刷题计划,不求每天都刷,只求能养成刷题的习惯。万事开头难,索性就把最怵头的大头拿到最前面完成吧,今天开始攻克动态规划。动态规划DP(Dynamic Programming)的思想:把大规模的问题通过若干个规模较小的问题的结果来得到。DP的重点:①如何设置dp...

2020-05-01 16:41:12 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除