zoukankan      html  css  js  c++  java
  • LeetCode_290. Word Pattern

    290. Word Pattern

    Easy

    Given a pattern and a string str, find if str follows the same pattern.

    Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.

    Example 1:

    Input: pattern = "abba", str = "dog cat cat dog"
    Output: true

    Example 2:

    Input:pattern = "abba", str = "dog cat cat fish"
    Output: false

    Example 3:

    Input: pattern = "aaaa", str = "dog cat cat dog"
    Output: false

    Example 4:

    Input: pattern = "abba", str = "dog dog dog dog"
    Output: false

    Notes:
    You may assume pattern contains only lowercase letters, and str contains lowercase letters that may be separated by a single space.

    package leetcode.easy;
    
    public class WordPattern {
    	@org.junit.Test
    	public void test() {
    		String pattern1 = "abba";
    		String str1 = "dog cat cat dog";
    		String pattern2 = "abba";
    		String str2 = "dog cat cat fish";
    		String pattern3 = "aaaa";
    		String str3 = "dog cat cat dog";
    		String pattern4 = "abba";
    		String str4 = "dog dog dog dog";
    		System.out.println(wordPattern(pattern1, str1));
    		System.out.println(wordPattern(pattern2, str2));
    		System.out.println(wordPattern(pattern3, str3));
    		System.out.println(wordPattern(pattern4, str4));
    	}
    
    	public boolean wordPattern(String pattern, String str) {
    		String[] arrays = str.split(" ");
    		if (arrays.length != pattern.length()) {
    			return false;
    		}
    
    		java.util.Map<String, Character> map = new java.util.HashMap<>();
    		for (int i = 0; i < pattern.length(); i++) {
    			if (map.containsKey(arrays[i]) && map.get(arrays[i]) != pattern.charAt(i)) {
    				return false;
    			} else if (!map.containsKey(arrays[i]) && map.containsValue(pattern.charAt(i))) {
    				return false;
    			} else {
    				map.put(arrays[i], pattern.charAt(i));
    			}
    		}
    		return true;
    	}
    }
    
  • 相关阅读:
    绪论
    Linux回到上次目录
    松下伺服电机控制器参数设置
    更新github上的文件
    pytorch
    从本地上传文件到github
    Linux常用命令
    使用colab训练神经网络
    深度学习模型训练过程
    anaconda安装ubuntu20.4中
  • 原文地址:https://www.cnblogs.com/denggelin/p/11777309.html
Copyright © 2011-2022 走看看