Leetcode杯 第三题解答(动态规划)
最长重复字符子串
最常规的动态规划里有道题是在两个不同的字符串里找到最长的字符子串。而这次把题目稍稍改了下,不再是不同的字符串而是同一条字符串里找最长的字符子串,可以用同样的方法来解答。在交卷的一刹那才想出来怎么做,还是要打好基础。
方法
开二维空间的dp数组,时间复杂度为O(n^2)
传递函数为dp
dp[i][k]={dp[i][k−1]+1s[k]=s[j]0elsedp[i][k]=\left\{ \begin{array}{rcl} dp[i][k-1]+1 & & {s[k]=s[j]}\\ 0 & & {else} \end{array} \right. dp[i][k]={dp[i][k−1]+10s[k]=s[j]else
示意图如下所示:
代码
class Solution {
public:int longestRepeatingSubstring(string S) {vector<vector<int>> dp(S.size(), vector<int>(S.size(), 0));int max = 0;int k = 0;for(int i = 1; i < S.size(); i++){k=i;for(int j = 0; j <S.size(); j++){if(S[j] == S[k]){dp[i-1][k] = dp[i-1][k-1] + 1;max < dp[i-1][k] ? max = dp[i-1][k]: max = max;}k++;if(k > S.size()) break;}}return max;}
};
原题
https://leetcode-cn.com/contest/college/2019-spring/problems/longest-repeating-substring/
Leetcode杯 第三题解答(动态规划)相关推荐
- 第12届蓝桥杯 第三题:《卡片》
第三题:<卡片> 题目大意 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 解题思路 首先建立一个map映射,将0–9 每个卡片各有2021个存入map: Has ...
- 2021 8.8拼多多笔试第三题解答
第三题输出括号匹配 输入包含 "( ) L R D " 题目以后补充.... import java.util.Arrays; import java.util.Scanner; ...
- leetcode算法第三题
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc& ...
- 第八届蓝桥杯第三题承压计算
题目如下: X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同. 金属材料被严格地堆放成金字塔形. 7 ...
- leetcode旋转数组 c语言,leetcode explore 初级算法第三题,旋转数组代码实现
leetcode explore 初级算法第三题,旋转数组代码实现.原题链接: 题目分析 因为题目不是很长,这里把题目贴出来: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. ...
- java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)
第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...
- NOIP信息奥赛--1995“同创杯”初中复赛题题解(三)
NOI'95 "同创杯"全国青少年信息学(计算机)奥林匹克竞赛 分区联赛复赛测试数据(初中组) 第三题 输出结果为: A类=538 B类=462 本题解析:本题的关键是要计算二进制 ...
- 蓝桥杯单片机十一届省赛_“第十届蓝桥杯青少组C++省赛”前三题解题思路及参考答案!...
关注 及时了解信息学竞赛相关资讯 第十一届蓝桥杯青少组C++省赛即将到来,待考的各位小同学有没有刷完去年的真题呢?以下是为大家复习准备的"第十届蓝桥杯青少组C++省赛"前三题解题思 ...
- 2018年第九届蓝桥杯【C++省赛B组】【第三题:乘积尾零】——附解题代码
欢迎大家加入CSDN-蓝桥杯竞赛社区 https://bbs.csdn.net/forums/lanqiaobei 蓝桥杯历届题目及解析汇总(附思路及代码)[点击此进入] 蓝桥杯,ACM算法学习[文档 ...
最新文章
- C# Winform中慎用Application.DoEvents
- 【POJ】1182 食物链
- 安卓线程相关 HandlerThread Handler Thread Looper Message Runnable
- python算法题排序_python-数据结构与算法- 面试常考排序算法题-快排-冒泡-堆排-二分-选择等...
- case when then else end
- 从Linux服务器端下载文件Win客户端
- html提交列表编号自动生成目录,解析 Html 自动生成目录 TOC 的相关代码
- 如何打造应对超大流量的高性能负载均衡?
- 中兴计算机专业,中兴计算机专业面试题.pdf
- LA2218半平面交
- numpy : numpy.random
- 【图像去雾】基于matlab GUI直方图均衡化+Retinex理论图像去雾【含Matlab源码 1509期】
- java程序员 英文简历_Java程序员英文简历范文
- Ladon8.9扫描器简明教程/用法例子
- 洛谷试炼场一句话题解
- qt bianyishiliechengxu cube
- 1-3 Python基本数据类型
- C语言入门——C语言概述
- 【C#编程】两点距离计算
- WIFI定位原理分析
热门文章
- Windows7下通过VHD安装Windows8系统
- HTML 5中的tips两则
- 16、document的_source元数据以及定制返回结果解析
- try catch对异常进行输出到日志、_spring Boot手把手教学(7): 抛弃try-catch, 如何优雅统一处理异常(含404)...
- java amount_java.time.Period.plus(TemporalAmount amountToAdd)方法
- 我Python采集了新榜热门内容,原来这就是别人能成为自媒体大佬的秘密!
- 客户端连接idea_IDEA新特性:提前知道代码怎么走!
- Qt常用数据类型转换
- php个推透传消息,GitHub - Lysice/laravel-getui: Laravel个推的集成包,支持单推/多推/全量推送/透传消息等功能。...
- centos gradle 安装