word-pattern(mock)

注意:

// String要用equals,不然比较结果不对,会出bug
//
使用String.split

// boolean打印用 %b

 // abba 对应 cccc 也不行所以要用set记录

 

复制代码
https://leetcode.com/problems/word-pattern/
https://leetcode.com/mockinterview/session/result/xsl1lbt/
package com.company;


import java.util.*;


class Solution {
    public boolean wordPattern(String pattern, String str) {
        // String要用equals,不然比较结果不对,会出bug
        // abba 对应 cccc 也不行, 所以要用set记录
        // 使用String.split

        String[] strs = str.split(" ");

        if (pattern.length() != strs.length) {
            System.out.println("here1");
            return false;
        }

        Map<String, String> mp = new HashMap<>();
        Set<String> st = new HashSet<>();

        for (int i=0; i<pattern.length(); i++) {
            String key = pattern.substring(i, i+1);
            if (mp.containsKey(key)) {
                // 开始用的 != 是错误的。要用equals
                if (!mp.get(key).equals(strs[i])) {
                    System.out.printf("k: %s, v: %s, str: %s\n", key, mp.get(key), strs[i]);
                    return false;
                }
            }
            else {
                if (st.contains(strs[i])) {
                    return false;
                }
                else {
                    mp.put(key, strs[i]);
                    st.add(strs[i]);
                }
            }
        }
        return true;
    }
}

public class Main {

    public static void main(String[] args) {
        // write your code here
        System.out.println("Hello");

        String pattern = "abba";
        String str = "dog dog dog doa";

        Solution solution = new Solution();
        boolean ret = solution.wordPattern(pattern, str);
        System.out.printf("Get ret: %b\n", ret);

    }
}
复制代码

 

posted @   blcblc  阅读(232)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示