zoukankan      html  css  js  c++  java
  • 单词规律

    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
    }
    

      

  • 相关阅读:
    第一个 Python 程序
    Qt之字体文件(TTF)
    Memcached
    Qt之QtSoap(访问WebService)
    Crypto++编译使用
    Memcached
    Windows下编译OpenSSL
    基于Core Text实现的TXT电子书阅读器
    java代码获取jdbc链接properties
    ext树表+ZeroClipboard复制链接功能
  • 原文地址:https://www.cnblogs.com/yzg-14/p/13343035.html
Copyright © 2011-2022 走看看