登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
给定一个只包含'('和')'的字符串 计算 ...
给定一个只包含'('和')'的字符串 计算最长回文子串的深度即长度
[ 复制链接 ]
虾氲叱
2025-6-1 21:53:56
给定一个只包含'('和')'的字符串,计算最长有效(格式正确且连续)括号子串的长度。在原问题基础上,假设字符串是分布式存储在多个节点上,每个节点存储一部分字符串,设计并实现一个分布式算法来解决该问题。请手写伪代码实现,详细描述算法思路,分析算法的时间复杂度和空间复杂度,并给出关键代码实现。
时间复杂度 O(n)
空间复杂度 O(n)
/**
*
计算最长回文子串的深度即长度
* @param srcStr
* @return
*/
public static Integer getMaxHuiwenSubStrLen(String srcStr){
String s =
changeParenStrIntoFormatStr
(srcStr);
if (s==null){
return null;
}
if (s.isEmpty()){
return null;
}
if (!
isHuiwenStr
(s)){
return null;
}
return s.length()/2;
}
/**
*
把括号字符串格式化成为回文字符串
* @param parenStr
* @return
*/
public static String changeParenStrIntoFormatStr(String parenStr){
if (parenStr==null){
return null;
}
if (parenStr.isEmpty()){
return null;
}
for (int i = 0; i < parenStr.length(); i++) {
char c = parenStr.charAt(i);
if (!(c=='(' || c== ')')){
return null;
}
}
if (!
isHuiwenStr
(parenStr)){
return null;
}
ArrayList characters = new ArrayList();
for (int i = 0; i < parenStr.length(); i++) {
char c = parenStr.charAt(i);
if (c=='('){
characters.add('a');
} else if (c==')') {
characters.add('a');
}
}
StringBuilder stringBuilder = new StringBuilder();
characters.forEach(e->{
stringBuilder.append(e);
});
return stringBuilder.toString();
}
/**
*
判断字符串是否是回文字符串
* @param srcStr
* @return
*/
public static Boolean isHuiwenStr(String srcStr){
if (srcStr==null){
return null;
}
if (srcStr.isEmpty()){
return null;
}
if (srcStr.length()%2!=0){
return null;
}
int count=0;
for (int i = 0; i < srcStr.length()/2; i++) {
char c = srcStr.charAt(i);
char c1 = srcStr.charAt(srcStr.length() - i - 1);
if (c==c1){
count++;
if (count==srcStr.length()/2){
break;
}
continue;
}else {
return false;
}
}
return true;
}
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
给定
一个
包含
字符串
计算
相关帖子
理想计算模型和Python虚拟机3为什么要使用Python
truncate table恢复实战3(包含lob类型字段).txt
有没一个js跳转代码啊
【OpenGL ES】在Windows上手撕一个mini版的渲染框架
【OpenGL ES】在Android上手撕一个mini版的渲染框架
sensitive-word:一个简单易用的敏感词过滤框架
忍了一年多,我做了一个工具将文章一键发布到多个平台
从零开始:C#实现计算表达式解析与求值——以后缀表达式为例
循环数组,一个可以释放无锁队列的力量
如何把一个接口设计好?
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
代码
理想计算模型和Python虚拟机3为什么要使用Python
0
773
泻缥
2025-10-07
安全
truncate table恢复实战3(包含lob类型字段).txt
0
274
匝抽
2025-10-07
问答
有没一个js跳转代码啊
1
29
VerlaMcCle
2025-10-07
业界
【OpenGL ES】在Windows上手撕一个mini版的渲染框架
0
349
卢莹洁
2025-10-08
业界
【OpenGL ES】在Android上手撕一个mini版的渲染框架
0
970
咒卖箴
2025-10-08
业界
sensitive-word:一个简单易用的敏感词过滤框架
0
208
科元料
2025-10-09
业界
忍了一年多,我做了一个工具将文章一键发布到多个平台
0
780
尝琨
2025-10-09
业界
从零开始:C#实现计算表达式解析与求值——以后缀表达式为例
0
620
筒濂
2025-10-09
安全
循环数组,一个可以释放无锁队列的力量
0
445
能拘
2025-10-10
安全
如何把一个接口设计好?
0
375
戎玉珂
2025-10-10
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
虾氲叱
2025-6-1 21:53:56
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
3934307807
993678
4
富账慕
10007
5
刎唇
9993
6
柴古香
9989
7
匝抽
9986
8
筒濂
9977
9
孙淼淼
9986
10
崔瑜然
9984
查看更多