刷题专栏(二十):单词规律

简介: 刷题专栏(二十):单词规律

前言

刷题专栏到目前已经是第二十篇了,欢迎大家来关注我的刷题专栏,一起来刷题。

今天的这道题《单词规律》,主要是一个逻辑问题。

要搞清这个逻辑问题,难点就是在于如何来提取规律,和判断单词如何匹配规律。

下面我们就一起来看一下具体的操作吧。

image.png

算法题:单词规律

根据题目的描述来看,是要通过一个规律来判断另外一个英文语句是否符合该规律。

那么如何通过程序来获取这个规律呢?

当然是每一个字母对应字母串中每一个单词。

只有一一对应的时候才会存在规律符合的特征。

所以在这里需要判断一下初始的规律字母数量是否和单词数量相同才行。

经过判断数量一致情况下的数据,可以接着通过循环单词数组,通过split方法来分隔单词字符串。

如果中途出现不符合规律的存在,就直接返回false即可。

下面我们就来看一下具体的代码实现吧。

代码展示

代码如下,大家可以自行尝试一下。

class Solution {
    public boolean wordPattern(String pattern, String s) {
        String[] words = s.split(" ");
        if (words.length != pattern.length()) {
            return false;
        }
        Map<Object, Integer> map = new HashMap<>();
        for (Integer i = 0; i < words.length; i++) {
            if (map.put(pattern.charAt(i), i) != map.put(words[i], i)) {
                return false;
            }
        }
        return true;
    }
}

代码执行结果

这道题官方题解很复杂,不过这个方式倒是很不错,通过单次循环就可以搞定。

而且本次的执行效果也非常不错。image.png

总结

这次的这道题,主要就是逻辑题目,只要搞清如何判断规律和每一个单次的对应关系即可,大家是否学到了呢,评论区去见!

目录
打赏
0
相关文章
|
8月前
大学物理(上)-期末知识点结合习题复习(1)——运动的描述(两类运动学知识点、圆周运动知识点、相对运动知识点)
大学物理(上)-期末知识点结合习题复习(1)——运动的描述(两类运动学知识点、圆周运动知识点、相对运动知识点)
58 0
|
9月前
leetcode127单词接龙刷题打卡
leetcode127单词接龙刷题打卡
46 0
【刷题日记】692. 前K个高频单词
本次刷题日记的第 59 篇,力扣题为:692. 前K个高频单词,中等
【刷题日记】 最常见的单词
本次刷题日记的第 36 篇,力扣题为:最常见的单词 ,简单
105 0
《LeetCode刷题计划》前K个高频单词
《LeetCode刷题计划》前K个高频单词
第01/90步《番外篇》第1章认识计算机世界第1课~第4课
今天学习《番外篇》第1章认识计算机世界的第1课~第4课内容,了解计算机基础原理及基础概念。没有练习,完成阅读并理解即可。
91 0
AcWing算法基础课笔记 第一章 基础算法
​编辑快速排序算法模板 —— 模板题 AcWing 785. 快速排序 归并排序算法模板 —— 模板题 AcWing 787. 归并排序 整数二分算法模板 —— 模板题 AcWing 789. 数的范围 浮点数二分算法模板 —— 模板题 AcWing 790. 数的三次方根 高精度加法 —— 模板题 AcWing 791. 高精度加法 高精度减法 —— 模板题 AcWing 792. 高精度减法 高精度乘低精度 —— 模板题 AcWing 793. 高精度乘法 高精度除以低精度 —— 模板题 AcWing 794. 高精度除法 一维前缀和 —— 模板题 AcWing 795.
336 0
刷题:运动员猜名次,从能解决到完美解决的代码进阶
刷题:运动员猜名次,从能解决到完美解决的代码进阶
77 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等