https://leetcode-cn.com/problems/longest-increasing-subsequence/ 1、题目: 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2 ...
分类:
其他好文 时间:
2020-07-19 23:31:12
阅读次数:
70
10-I. 斐波拉契数列 题意:面试题10- I. 斐波那契数列 思路:最基础的动态规划题。数据量比较大的时候不能使用递归,会报StackOverFlow Exception,最优的方式是迭代计算。 class Solution { public int fib(int n) { if (n <= ...
分类:
其他好文 时间:
2020-07-19 23:20:11
阅读次数:
72
https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/ 1、题目描述: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 2、示 ...
分类:
编程语言 时间:
2020-07-19 18:09:51
阅读次数:
388
问题描述 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a ...
分类:
其他好文 时间:
2020-07-19 16:24:05
阅读次数:
60
方法一: 动态规划 class Solution { public boolean isInterleave(String s1, String s2, String s3) { int n1 = s1.length(), n2 = s2.length(), n3 = s3.length(); if ...
分类:
其他好文 时间:
2020-07-18 22:15:59
阅读次数:
61
题目链接 97. 交错字符串 题目分析 字符串题目,一般不考虑暴力解法,因为极有可能会出现超时的情况(主要是重复搜索次数太多 这个题很明显的就是需要我们使用动态规划去做,一开始我自己也懵逼了,三串的DP?难不成要一个三维状态数组吗,但是仔细分析了一下好像其实并不是的。 因为我们s1的长度加s2的长度 ...
分类:
其他好文 时间:
2020-07-18 11:21:24
阅读次数:
63
题目 描述 蚂蚁山上有T(1<=T<=1,000)种蚂蚁,标记为1..T,每种蚂蚁有N_i只蚂蚁(1<=N_i<=100),现有A(A<=5000)只蚂蚁,从中选出S,S+1,…,B(1<=S<=B<=A)只蚂蚁一共有多少种选法? 如有5只蚂蚁分别为{1,1,2,2,3},一共有3种蚂蚁,每一种蚂蚁 ...
分类:
其他好文 时间:
2020-07-17 22:24:26
阅读次数:
121
我闷今天的目的就是通过这道题初步理解一下状态压缩类动态规划 首先我们先来介绍一下定义,所谓状态压缩类动态规划,顾名思义,这是以集合信息为状态的特殊的动态规划问题。主要有传统集合动态规划和基于连通性状态压缩的动态规划两种。 因为某些动态规划的需求信息量非常的大,并且我们为每一个信息开一维数组这样的做法 ...
分类:
其他好文 时间:
2020-07-17 13:54:46
阅读次数:
60
动态规划LSC——最长公共子序列 设A="a0,a1,…,am",B="b0,b1,…,bn",且Z="z0,z1,…,zk"为它们的最长公共子序列。不难证明有以下性质: 如果am=bn,则zk=am=bn,且"z0,z1,…,z(k-1)"是"a0,a1,…,a(m-1)"和"b0,b1,…,b(... ...
分类:
其他好文 时间:
2020-07-16 21:10:41
阅读次数:
46
今天早上换寝室,耽误了一些时间。还是继续复习动态规划。 单调队列优化dp 第一道,宝物筛选。一道多重背包优化题。如果用二进制优化很好做,但时间复杂度是O(nW*logm)。单调队列优化做法如下: 首先做出普通的多重背包的转移方程:f[j]=max{f[j-w*k]+v*k},w为重量,v为价值。 使 ...
分类:
其他好文 时间:
2020-07-15 01:33:13
阅读次数:
111