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
    }
    

      

  • 相关阅读:
    scanf与scanf_s的区别
    PAT 1041 考试座位号
    PAT1018 锤子剪刀布
    Cookie
    JSP--原理
    多线程练习题
    Java线程--线程的同步与锁
    有关toString()和println(Object)
    Java Web请求和响应机制
    IO流
  • 原文地址:https://www.cnblogs.com/yzg-14/p/13343035.html
Copyright © 2011-2022 走看看