• 1023. 驼峰式匹配


    原题链接:

    1023. 驼峰式匹配
    https://leetcode.cn/problems/camelcase-matching/description/

    完成情况:

    在这里插入图片描述

    解题思路:

    在这里插入图片描述

    /**
     题目理解:
        即有一个需要配对的---字符串数组 queries
         和一个用于配对的---模式的字符串 pattern
         
     	返回配对情况true/false
    
     配对规则:
        首先就是开头就要大写匹配,然后有小写的话,只要有就行
        然后又到大写,去匹配,如果需要配对的字符串pattern匹配完成,则返回true
        如果还有字符串数组 queries还有大写字母没有匹配到,则返回false。
    
     * @param queries
     * @param pattern
     * @return
     */
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    参考代码:

    package 西湖算法题解___中等题02;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class __1023驼峰式匹配 {
    	/**
    	 题目理解:
    	    即有一个需要配对的---字符串数组 queries
    	     和一个用于配对的---模式的字符串 pattern
    	 返回配对情况true/false
    
    	 配对规则:
    	    首先就是开头就要大写匹配,然后有小写的话,只要有就行
    	    然后又到大写,去匹配,如果需要配对的字符串pattern匹配完成,则返回true
    	    如果还有字符串数组 queries还有大写字母没有匹配到,则返回false。
    
    	 * @param queries
    	 * @param pattern
    	 * @return
    	 */
    	public List<Boolean> camelMatch(String[] queries, String pattern) {
    		int n = queries.length;
    		List<Boolean> ans = new ArrayList<Boolean>();
    		for (int i=0;i<n;i++){
    			boolean flag = true;
    			int p=0;    //统计匹配到的个数
    			for (int j=0;j<queries[i].length();j++){    //对每个区进行遍历
    				char ch = queries[i].charAt(j);     //然后获取每一个字符
    				if ( p < pattern.length() && pattern.charAt(p)==ch){
    					p++;
    				} else if (Character.isUpperCase(ch)) {	//后面都不匹配也没关系,但是千万不能再出现大写字母了。
    					flag = false;   //如果是大写字母,则向后进行匹配
    					break;
    				}
    			}
    			if (p <pattern.length()){
    				flag = false;
    			}
    			ans.add(flag);
    		}
    		return ans;
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
  • 相关阅读:
    我的创作纪念日
    python基础专栏12-python基础篇-复合数据类型-字典
    剑指offer-数组总结
    简单工厂和工厂模式
    Redis List类型命令 - Set类型命令 - SortedSet类型命令
    【实战】如何使用Spring Boot Jpa中的findAll进行specification动态查询
    博弈论与SG函数入门
    99%的时间里使用的14个git命令
    C++【模板】
    【Python仿真】基于EKF的传感器融合定位
  • 原文地址:https://blog.csdn.net/weixin_43554580/article/details/132872724