当前位置: 首页 > news >正文

刷题_20:字符串反转 and 公共子串计算

一.字符串反转

题目链接:

字符串反转

题目描述:

接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)

输入描述:

输入一行,为一个只包含小写字母的字符串。

输出描述:

输出该字符串反转后的字符串。

示例1:

输入:
abcd
输出:
dcba

个人总结:

将输入的字符串转成字符数组,然后定义一个左下标 l 和右下标 r ,交换二者,然后 l++ , r-- 一直到 l>=r 即可,说白了就是反转一个数组。

代码实现:

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.nextLine();System.out.println(reverse(s));}public static String reverse(String s) {char[] chs = s.toCharArray();int l = 0;int r = chs.length - 1;while (l < r) {char tmp = chs[l];chs[l] = chs[r];chs[r] = tmp;l++;r--;}return String.valueOf(chs);}
}

二.公共子串计算

题目链接:

公共子串计算

题目描述:

给定两个只包含小写字母的字符串,计算两个字符串的最大公共子串的长度。
注:子串的定义指一个字符串删掉其部分前缀和后缀(也可以不删)后形成的字符串。
数据范围:字符串长度:1≤s≤150
进阶:时间复杂度:O(n^3) ,空间复杂度:O(n)

输入描述:

输入两个只包含小写字母的字符串

输出描述:

输出一个整数,代表最大公共子串的长度

示例1:

输入:
asdfas
werasdfaswer
输出:
6

个人总结:

不能说毫不相干,只能说一模一样查找两个字符串a,b中的最长公共子串

代码实现:

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.nextLine();String p = sc.nextLine();System.out.println(getMaxLen(s, p));}//获取最大公共子串长度public static int getMaxLen(String s, String p) {int max = 0;int lenS = s.length();int lenP = p.length();//dp[i][j]:以i - 1为结尾的s子串和以j - 1为结尾的p子串的最大公共子串的长度int[][] dp = new int[lenS + 1][lenP + 1];for (int i = 1; i <= lenS; i++) {for (int j = 1; j <= lenP; j++) {if (s.charAt(i - 1) == p.charAt(j - 1)) {dp[i][j] = dp[i - 1][j - 1] + 1;max = Math.max(max, dp[i][j]);} else {dp[i][j] = 0;}}}return max;}
}
http://www.lryc.cn/news/44312.html

相关文章:

  • 如何在 Linux 命令行中比较两个目录,我教你五个命令!
  • 多元算力如何满足万千本土化场景需求,解析第四代至强核心加速器设计
  • SPI主模式切换为从模式
  • IMX6ULL学习笔记(21)——MMDC接口使用(DDR3测试)
  • 机器学习——无监督学习
  • python+opencv生成较真实的车牌号码图片
  • 3.26周报
  • 从0开始学python -69
  • HashMap中HashCode的实现原理
  • Redis —Set、ZSet介绍和应用场景
  • 【产品人卫朋】内容运营:文章点击量少的可怜,该怎么做?
  • 【K8S系列】深入解析无状态服务
  • Node基础--命令窗口
  • 一些有趣的项目
  • 教你精通JavaSE语法之第六章、数组的使用
  • 基于51单片机AT89C51的小型音乐喷泉控制系统设计
  • 【Nacos】Nacos原理详解(注册中心,配置中心)
  • 蓝桥杯刷题冲刺 | 倒计时11天
  • 【新】(2023Q2模拟题JAVA)华为OD机试 - 时间格式化
  • MySQL函数
  • 【Linux系统】开发工具(下) {调试器gdb,自动化构建工具make/Makefile,多文件编译,代码管理平台git}
  • 线性代数——行列式
  • Spring注解-Spring-boot-SpingAOP
  • 使用Shell传参解决DataPhin中PySpark不支持中文的问题
  • 【CDH】cloudera manger 如何开启Debug 日志调试模式
  • SQL Server 用户授权与回收
  • 电脑出现乱码的原因以及解决方法
  • 网络工程师笔记
  • linux用户添加用户组与目录切换用户组的操作记录
  • 在CentOS 7上使用二进制文件安装单节点Kubernetes的详细步骤: