数组中两个字符串的最小距离

server/2024/10/19 21:35:36/

1.题目:

 

2.解析:

这里利用预处理思想:要找多个位置先记录下某个位置:

这里 i 遍历来记录s1,和s2的位置,不断更新来找到最小距离。

 

代码:

java">public static void main(String[] args) throws IOException {BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(reader.readLine());String[] str = reader.readLine().split(" ");String s1 = str[0],s2 = str[1];int prev1 = -1;//记录s1位置int prev2 = -1;//记录s2位置int ret = Integer.MAX_VALUE;for(int i = 0; i < n; i++) {if(str[i].equals(s1)){ //前面找s2if(prev2 != -1){//看左边是否有s2ret = Math.min(ret,i-prev2);prev1 = i;}}if(str[i].equals(s2)){ //前面找s1if(prev1 != -1){//看左边是否有s1ret = Math.min(ret,i-prev1);prev2 = i;}}}System.out.println(ret);}


http://www.ppmy.cn/server/123361.html

相关文章

【2023工业3D异常检测文献】基于混合融合的多模态工业异常检测方法Multi-3D-Memory (M3DM)

Multimodal Industrial Anomaly Detection via Hybrid Fusion 1、Background 随着3D传感器的发展&#xff0c;最近发布了具有2D图像和3D点云数据的MVTec-3D AD数据集&#xff0c;促进了多模态工业异常检测的研究。 无监督异常检测的核心思想是找出正常表示与异常之间的差异。…

Java中的Junit、类加载时机与机制、反射、注解及枚举

目录 Java中的Junit、类加载时机与机制、反射、注解及枚举 Junit Junit介绍与使用 Junit注意事项 Junit其他注解 类加载时机与机制 类加载时机 类加载器介绍 获取类加载器对象 双亲委派机制和缓存机制 反射 获取类对象 获取类对象的构造方法 使用反射获取的构造方法创建对象 获…

通过 IPv6 进行远程 ADB 调试

通过 IPv6 进行远程 ADB 调试。与 IPv4 类似&#xff0c;ADB 支持使用 IP 地址进行无线调试&#xff0c;包括通过 IPv6 地址进行连接。以下是通过 IPv6 进行远程 ADB 调试的步骤&#xff1a; 1. 确保设备和主机支持 IPv6 首先确保你的 Android 设备和用于调试的电脑都连接到支…

七段 LED 显示器(7段数码管)

7 段 LED 显示器, 通常简称为 LED 数码管 或 数码管. 通过 菜单--绘制--数字芯片--添加 7 段 LED 显示器 可以引入它. 普通模式 它内部其实就是七盏长条状的 LED 灯, 有的横着放, 有的竖着放. 七个灯用 a b c d e f g 分别表示. 灯的位置从上到下, 从里到外顺时针下来, 如上图…

k8s StorageClass 存储类

文章目录 一、概述1、StorageClass 对象定义2、StorageClass YAML 示例 二、StorageClass 字段1、provisioner&#xff08;存储制备器&#xff09;1.1、内置制备器1.2、第三方制备器 2、reclaimPolicy&#xff08;回收策略&#xff09;3、allowVolumeExpansion&#xff08;允许…

Python | 第六章节 | 控制结构

P50 位运算&#xff08;2&#xff09; 2024/8/17 一、剩余运算符号 1、<< 左移 <<规则: 运算数的各二进位全部左移若干位&#xff0c;由"<<"右边的数指定移动的位数&#xff0c;符号位不变&#xff0c;高位丢弃&#xff0c;低位补0&#xff08;…

C# 泛型使用案例_C# 泛型使用整理

一、系统自带常用的泛型 1.字典&#xff0c;集合 //字典 Dictionary<string, int> dic new Dictionary<string, int>(); //泛型集合 List<int> list new List<int>(); 2.泛型委托&#xff0c;输入参数&#xff0c;输出参数 //泛型 委托---输出参…

04_OpenCV图片缩放

import cv2 import matplotlib.pyplot as plt # Python 的 2D绘图库# 读入原图片 img cv2.imread(libarary.JPG) # 打印出图片尺寸 print(img.shape) # 将图片高和宽分别赋值给x&#xff0c;y x, y img.shape[0:2]# 显示原图 #cv.imshow(OriginalPicture, img)# 缩放到原来的…