AcWing 2816. 判断子序列-golang
原题链接
简单
作者:
渲染
,
2024-03-31 14:53:53
,
所有人可见
,
阅读 1
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
var n , m int
const N int = 100010
var a = [N]int{}
var b = [N]int{}
func main(){
fmt.Scan(&n,&m)
var scanner = bufio.NewScanner(os.Stdin)
var buf = make([]byte, 0, 1024*1024*10) // 设置一个更大的缓冲区
scanner.Buffer(buf, cap(buf))
if scanner.Scan() {
line := scanner.Text() // 读取整行文本
parts := strings.Split(line, " ") // 使用空格分割字符串
for j:=0;j<len(parts);j++ {
num, _ := strconv.Atoi(parts[j]) // 将字符串转换为整数,并检查错误
a[j] = num // 将字符串转换为整数并添加到数组中
}
}
if scanner.Scan() {
line := scanner.Text() // 读取整行文本
parts := strings.Split(line, " ") // 使用空格分割字符串
for j:=0;j<len(parts);j++ {
num, _ := strconv.Atoi(parts[j])
b[j] = num // 将字符串转换为整数并添加到数组中
}
}
var l , r int
for l < n && r < m{
if a[l] == b[r]{
l ++
}
r ++
}
if l == n{
fmt.Println("Yes")
return
}
fmt.Println("No")
}