C语言积累一点点
778. 水位上升的泳池中游泳
https://leetcode-cn.com/problems/swim-in-rising-water/
839. 相似字符串组 https://leetcode-cn.com/problems/similar-string-groups/
312. 戳气球
https://leetcode-cn.com/problems/burst-balloons/
说明:
你可以假设 nums[-1] = nums[n] = 1,但注意它们不是真实存在的所以并不能被戳破。
0 ≤ n ≤ 500, 0 ≤ nums[i] ≤ 100
1 /*区间dp是分治思想的一个应用 2 大区间的解可以由小区间的解合并而成 故先将大区间分解成小区间 最后再将小区间的解合并得到大区间的解 3 体现了分而治之再归并的分治法思想 4 故区间dp所要做的就是: 5 1.如何划分 6 2.在何处划分 7 在何处划分只需要枚举区间中的一个分割点即可 最关键的是确立“如何划分”这个问题 8 既然区间dp用到了分治法的思想 则可以用分治法来思考问题 9 分治法分解子问题的一个重要特点就是子问题彼此独立 互不干扰 10 所以在“如何划分”这个问题上也应该遵守划分的子区间之间彼此独立 互不干扰 11 现在有一区间[i,j]在区间中选取一点k 将区间拆分为[i,k-1],[k+1,j] 12 如果戳爆第k个气球 毫无疑问 两个区间将会产生交集 k-1与k+1将会直接相邻 子问题无法做到彼此独立 互不干扰 13 但现在换一种思路: 14 先分别求出区间[i,k-1]与区间[k+1,j]的解 再戳爆第k个气球 这样两个区间就不会产生交集 两个区间的求解过程彼此独立 互不干扰 15 每求完一段区间的解 该区间的气球数都会变成零 16 故当求解完两端区间的解时 只剩下了三个气球 i-1 k j+1 故此时再戳爆第k个气球 17 得到 nums[i-1]xnums[k]xnums[j+1] 18 故状态转移方程为dp[i][j]=max(dp[i][j],dp[i][k-1]+dp[k+1][j]+nums[i-1]xnums[k]xnums[j+1]); 19 注意边界条件 不要让数组越界*/
两数之和
https://leetcode-cn.com/problems/two-sum/solution/conlogner-fen-nei-er-fen-by-boille/
5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案 https://leetcode-cn.com/problems/longest-palindromic-substring/
1024. /
视频拼接 https://leetcode-cn.com/problems/video-stitching
1027. 最长等差数列
https://leetcode-cn.com/problems/longest-arithmetic-sequence/
300. 最长上升子序列
https://leetcode-cn.com/problems/longest-increasing-subsequence/
[714]买卖股票的最佳时机含手续费
在代码的世界尽情的翱翔吧!