单词规律
Posted yzg-14
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单词规律相关的知识,希望对你有一定的参考价值。
package main import ( "fmt" "strings" ) func main() { /* 示例1: 输入: pattern = "abba", str = "dog cat cat dog" 输出: true 示例 2: 输入:pattern = "abba", str = "dog cat cat fish" 输出: false */ var pattern = "abba" var str = "dog cat cat dog" res := wordPattern(pattern, str) fmt.Println(res) } func wordPattern(pattern string, str string) bool { var slice []int for i := 0; i < len(pattern); i++ { s := pattern[i] if s == pattern[0] { slice = append(slice, 0) } if s != pattern[0] { slice = append(slice, 1) } } strSlice := strings.Split(str, " ") var slice2 []int for i := 0; i < len(strSlice); i++ { s := pattern[i] if s == pattern[0] { slice2 = append(slice2, 0) } if s != pattern[0] { slice2 = append(slice2, 1) } } fmt.Println(slice, slice2) // 引用类型的比较实际判断的是两个变量是不是指向同一份数据,它不会去比较实际指向的数据 for i, i2 := range slice { // slice2[i] 警告是因为可能超出范围 if i2 == slice2[i] { return true } } return false }
以上是关于单词规律的主要内容,如果未能解决你的问题,请参考以下文章
编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段