![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
shY`
这个作者很懒,什么都没留下…
展开
-
LeetCode-152. 乘积最大子数组
乘积最大子数组原创 2022-09-08 13:20:09 · 115 阅读 · 0 评论 -
LeetCode-918. 环形子数组的最大和
环形子数组的最大和原创 2022-09-07 15:51:10 · 298 阅读 · 0 评论 -
【剑指Offer】面试题 05.03. 翻转数位
题目给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。示例输入: num = 1775(110111011112)输出: 8输入: num = 7(01112)输出: 4提前知道的概念位运算n & (1 << i)首先:1 << i的含义是将i左移i位,如1<<2 则0001->0100那么n & (1 << i)就是计算n的第i位(从右数)解法、原创 2022-03-29 22:43:54 · 113 阅读 · 0 评论 -
【剑指Offer】1025 除数博弈
题目爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 n 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < n 且 n % x == 0 。用 n - x 替换黑板上的数字 n 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 true 。假设两个玩家都以最佳状态参与游戏。示例示例1输入:n = 2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例2输入:n = 3原创 2022-03-29 08:59:40 · 78 阅读 · 0 评论 -
【剑指Offer】49丑数
题目我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。提前知道的概念在解答这道题之前,我们需要知道一个概念,即丑数是由他之前的丑数计算得来例如2 = 1 * 23 = 1 * 35 = 1 * 54 = 2 * 2;6 = 2 * 3 或者 3 * 2 10 = 2 * 5一次类推,我原创 2022-03-27 10:46:09 · 618 阅读 · 0 评论 -
【剑指Offer】10 青蛙跳台阶问题2
题目一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例示例1输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1思想有题目可知,青蛙有两种行为方式1、跳一级台阶2、跳两级台阶并且在0、1、2级台阶的情况下跳法数已知即1、0级台阶,有一种跳法2、1级台阶,有一种跳法3原创 2022-03-26 08:53:18 · 245 阅读 · 0 评论 -
LeetCode设计循环队列(622)
结果代码import java.util.ArrayList;import java.util.List;/** * 设计循环队列 */public class MyCircularQueue { //数组 private Integer[] data; //头指针 private int head; //尾指针 private int tail; //长度 private int length; /** *原创 2020-06-02 10:25:08 · 148 阅读 · 0 评论 -
LeetCode-53 最大子序和(动态规划、贪心)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。这里我主要采用了暴力法、动态规划、以及贪心算法。其中动态规划与贪心算法的时间复杂度都是O(n),并且算法的思路非常相似,而暴力破解的复杂度相对较高,为O(n2)。当然,LeetCode题解中还有关于分治法的相关题解,以为时间复杂度不如动态规划与贪心算法,因此这里不再提原创 2020-06-05 22:55:42 · 286 阅读 · 0 评论