【编程题目 |200分】字符串比较【2021, 2022 Q1,Q2考试题 2023 Q2考试题 B卷】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【字符串比较】

给定字符串A、B和正整数V,A的长度与B的长度相等, 请计算A中满足如下条件的最大连续子串的长度:

1、该连续子串在A和B中的位置和长度均相同。

2、该连续子串|A[i] – B[i]|之和小于等于V。其中|A[i] – B[i]|表示两个字母ASCII码之差的绝对值

输入描述:

  • 输入为三行:
  • 第一行为字符串A,仅包含小写字符,1 <= A.length <=1000。
  • 第二行为字符串B,仅包含小写字符,1 <= B.length <=1000。
  • 第三行为正整数V,0<= V <= 10000。

输出描述:

  • 字符串最大连续子串的长度,要求该子串|A[i] – B[i]|之和小于等于V。

示例 1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

xxcdefg

cdefghi

5

输出

2


代码实现


C++解法一


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
int main(int argc, const char *argv[])
{
string A, B;
int V;
cin >> A >> B >> V;
#include <bits/stdc++.h> using namespace std; int main(int argc, const char *argv[]) { string A, B; int V; cin >> A >> B >> V;
#include <bits/stdc++.h>

using namespace std;

int main(int argc, const char *argv[])
{
    string A, B;
    int V;
    cin >> A >> B >> V;

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看


C++解法二


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include<bits/stdc++.h>
using namespace std;
#include<bits/stdc++.h> using namespace std;
#include<bits/stdc++.h>

using namespace std;

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.util.*;
public class StringCompare{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s1 = scanner.nextLine();
String s2 = scanner.nextLine();
int n = scanner.nextInt();
import java.util.*; public class StringCompare{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s1 = scanner.nextLine(); String s2 = scanner.nextLine(); int n = scanner.nextInt();
import java.util.*;

public class StringCompare{

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String s1 = scanner.nextLine();
        String s2 = scanner.nextLine();

        int n = scanner.nextInt();

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Golang


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package main
import (
"fmt"
"strings"
)
func main() {
a := "xxcdefg"
b := "cdefghi"
v := 5
package main import ( "fmt" "strings" ) func main() { a := "xxcdefg" b := "cdefghi" v := 5
package main

import (
    "fmt"
    "strings"
)

func main() {
    a := "xxcdefg"
    b := "cdefghi"
    v := 5

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import sys
if __name__ == "__main__":
string1 = sys.stdin.readline().strip("\n")
string2 = sys.stdin.readline().strip("\n")
V = int(sys.stdin.readline().strip("\n"))
import sys if __name__ == "__main__": string1 = sys.stdin.readline().strip("\n") string2 = sys.stdin.readline().strip("\n") V = int(sys.stdin.readline().strip("\n"))
import sys

if __name__ == "__main__":
    string1 = sys.stdin.readline().strip("\n")
    string2 = sys.stdin.readline().strip("\n")
    V = int(sys.stdin.readline().strip("\n"))

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JavaScript


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let s1 = readline();
let s2 = readline();
let n = Number(readline());
let s1 = readline(); let s2 = readline(); let n = Number(readline());
let s1 = readline(); 
let s2 = readline(); 
let n = Number(readline());

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看