方法一: 动态规划 (O(n)) class Solution { public int lengthOfLIS(int[] nums) { int n = nums.length; if(n < 2) return n; int[] dp = new int[n+1]; // dp[i] : 以第 ...
分类:
其他好文 时间:
2020-07-08 13:12:25
阅读次数:
53
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 题目大意:给m 和n个数,将n个数分为m段,不交叉,求m段和的最大值。 Sample Input 1 3 1 2 3 2 6 -1 4 -2 3 -2 3 Sample Output 6 8 em ...
分类:
其他好文 时间:
2020-07-08 00:58:59
阅读次数:
82
快排 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #include<stack> #include<map> #include<cstdio> #include< ...
分类:
其他好文 时间:
2020-07-07 21:01:02
阅读次数:
81
引子 Q:序列化组件有什么用? A:序列化阶段,能把模型对象转化成字典 ? 反序列化阶段,能把客户端发送来的数据经过request变成的字典转化成模型对象,并完成校验 一、创建一个序列化器 在settings中注册rest_framework 在模型里写上序列化器要用的表 在应用下创建一个py文件 ...
分类:
其他好文 时间:
2020-07-07 19:32:47
阅读次数:
53
排序算法 冒泡排序 思想:冒泡排序(Bubble Sort)是一种简单直观的排序算法。它的工作原理是:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交 ...
分类:
编程语言 时间:
2020-07-05 21:02:01
阅读次数:
48
原型:最长上升子序列 分析 状态表示:所有以a[i]结尾的严格单调上升的子序列的Max长度 状态划分依据:以最后一个不同的点 状态方程:dp[i] = max(dp[i], dp[j] + 1), j必须要小于i for(int i = 1; i <= n; i++) { dp[i] = 1; fo ...
分类:
其他好文 时间:
2020-07-05 17:12:16
阅读次数:
54
题目大意 给定一个长度为$n$的序列$a$,求出长度至少为$k$的子序列,使得: 所有下标为奇数的元素的最大值与所有下标为偶数的元素的最大值的最小值最小 即$min(max(s_1,s_3,s_5...),max(s_2,s_4,s_6...))$ $2 ≤k≤2\times10^5$ \(Time ...
分类:
其他好文 时间:
2020-07-05 10:57:54
阅读次数:
71
恢复内容开始 题目大意 题目描述 给定两个长度为$n$的$01$串$a$和$b$,要求串$a$的任意子序列经过若干次“旋转”操作变为串$b$ 对于一次“旋转操作”我们这样定义: 如果我们要旋转的序列为 \(c_1,c_2,c_3,c_4,c_5...c_n\) 那么旋转之后的序列为$c_n,c_1, ...
分类:
其他好文 时间:
2020-07-05 10:37:12
阅读次数:
46
给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) ...
分类:
其他好文 时间:
2020-07-05 00:38:37
阅读次数:
49
/* 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: "sea", "eat" 输出: 2 解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea" 思路:找出最大公共子序列 ...
分类:
其他好文 时间:
2020-07-04 15:08:43
阅读次数:
61