📜  算法测验| SP2竞赛1 |第41章(1)

📅  最后修改于: 2023-12-03 15:41:09.717000             🧑  作者: Mango

算法测验 | SP2竞赛1 | 第41章

本次算法测验共有3道题目,难度依次递增。以下是每道题目的描述和要求:

题目1:字符串匹配

给定一个主串s和一个模式串p,长度分别为n和m。请写一个算法,判断模式串p是否在主串s中出现。如果出现,返回该出现位置的起始下标;否则,返回-1。要求算法时间复杂度为O(nm)。

示例输入:

s = "hello world"
p = "world"

示例输出:

7

Markdown代码片段:

## 题目1:字符串匹配

给定一个主串s和一个模式串p,长度分别为n和m。请写一个算法,判断模式串p是否在主串s中出现。如果出现,返回该出现位置的起始下标;否则,返回-1。要求算法时间复杂度为O(nm)。

**示例输入:**

s = "hello world" p = "world"


**示例输出:**

7

题目2:排列组合计算

给定整数n和r,计算C(n,r)和P(n,r),其中C(n,r)表示从n个元素中选取r个元素的组合数,P(n,r)表示从n个元素中选取r个元素的排列数。

示例输入:

n = 5
r = 3

示例输出:

C(5,3) = 10
P(5,3) = 60

Markdown代码片段:

## 题目2:排列组合计算

给定整数n和r,计算C(n,r)和P(n,r),其中C(n,r)表示从n个元素中选取r个元素的组合数,P(n,r)表示从n个元素中选取r个元素的排列数。

**示例输入:**

n = 5 r = 3


**示例输出:**

C(5,3) = 10 P(5,3) = 60

题目3:最长公共子序列

给定两个字符串s1和s2,长度分别为n1和n2,求它们的最长公共子序列。最长公共子序列是指在两个字符串中都出现的、长度最长的子序列。

示例输入:

s1 = "abcde"
s2 = "ace"

示例输出:

"ace"

Markdown代码片段:

## 题目3:最长公共子序列

给定两个字符串s1和s2,长度分别为n1和n2,求它们的最长公共子序列。最长公共子序列是指在两个字符串中都出现的、长度最长的子序列。

**示例输入:**

s1 = "abcde" s2 = "ace"


**示例输出:**

"ace"