
动态规划
动态规划
litanyuan
这个作者很懒,什么都没留下…
展开
-
LeetCode-410.分隔数组的最大值、动态规划、前缀和
给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。示例:输入:nums = [7,2,5,10,8],m = 2,输出:18力扣(LeetCode)第410题前言前缀和前缀和是一个数组的某项下标之前(包括该元素)的所有数组元素的和,前缀和是一种重要的预处理操作,可以降低查询的时间复杂度。主要用于使用O(1)的时间,计算出子区间和。动态规划动态规划算法通常用于求解具有某种最优性质的问题,其基本思想也是将待求解.原创 2020-07-25 17:31:20 · 411 阅读 · 0 评论 -
LeetCode-312.戳气球、动态规划
有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。如果你戳破气球 i ,就可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球 right 就变成了相邻的气球。求所能获得硬币的最大数量。来源:力扣(LeetCode)第312题暴力穷举①.回溯算法对于求最值的问题,最直接的.原创 2020-07-20 16:11:15 · 529 阅读 · 0 评论 -
LeetCode-801.使序列递增的最小交换次数、动态规划的使用总结
我们有两个长度相等且不为空的整型数组 A 和 B 。我们可以交换 A[i] 和 B[i] 的元素。注意这两个元素在各自的序列中应该处于相同的位置。在交换过一些元素之后,数组 A 和 B 都应该是严格递增的(数组严格递增的条件仅为A[0] < A[1] < A[2] < … < A[A.length - 1])。给定数组 A 和 B ,请返回使得两个数组均保持严格递增状态的最小交换次数。假设给定的输入总是有效的。示例: 输入: A = [1,3,5,4], B = [1,2,3,7].原创 2020-07-12 11:11:33 · 415 阅读 · 0 评论 -
LeetCode-44.通配符匹配、动态规划算法的应用
动态规划算法的应用原创 2020-07-05 19:03:06 · 261 阅读 · 0 评论 -
力扣刷题-837.新21点、动态规划、滑动窗口
爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:爱丽丝以 0 分开始,并在她的得分少于 K 分时抽取数字。 抽取时,她从 [1, W] 的范围中随机获得一个整数作为分数进行累计,其中 W 是整数。 每次抽取都是独立的,其结果具有相同的概率。当爱丽丝获得不少于 K 分时,她就停止抽取数字。 爱丽丝的分数不超过 N 的概率是多少?示例 1:输入:N = 10, K = 1, W = 10输出:1.00000说明:爱丽丝得到一张卡,然后停止。示例 2:输入:N = 6, K =.原创 2020-06-04 11:57:36 · 427 阅读 · 0 评论 -
力扣刷题-1371.每个元音包含偶数次的最长子字符串、前缀和、动态规划
一.背景和为k的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。来源:力扣(LeetCode)第560道题解题思路①.暴力穷举 可以对所有的子数组进行穷举,然后分别求和,和等于k则计数加1。//穷举所有子串[i,j]int countK = 0;for(int i = 0;i< nums.size();原创 2020-05-23 16:20:37 · 454 阅读 · 0 评论 -
力扣刷题-32.最长有效括号
给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。原创 2020-04-14 15:01:44 · 268 阅读 · 0 评论