zoukankan      html  css  js  c++  java
  • p567-字符串的排列

    package zifuchuan;
    /*
    567. 字符串的排列
    给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。
    
    换句话说,第一个字符串的排列之一是第二个字符串的子串。
    
    示例1:
    
    输入: s1 = "ab" s2 = "eidbaooo"
    输出: True
    解释: s2 包含 s1 的排列之一 ("ba").
    
    
    示例2:
    
    输入: s1= "ab" s2 = "eidboaoo"
    输出: False
    
    
    注意:
    
    输入的字符串只包含小写字母
    两个字符串的长度都在 [1, 10,000] 之间
     */
    public class p567 {
        public static boolean checkInclusion(String s1, String s2) {
            if(s1.length()>s2.length())return  false;
            int len1=s1.length();
            for(int i=0;i<s2.length()-s1.length()+1;i++){
                String tmpStr=s2.substring(i,i+len1);
                if(isSimilar(s1,tmpStr))return true;
            }
            return false;
    
    
        }
        public static boolean isSimilar(String s1,String s2){
            if(s1.length()!=s2.length())return false;
            int count[]=new int[26];
            for(int i=0;i<s1.length();i++)count[s1.charAt(i)-'a']++;
            for(int i=0;i<s2.length();i++)count[s2.charAt(i)-'a']--;
            for(int i=0;i<26;i++){
                if(count[i]!=0)return false;
            }
            return true;
        }
        public static void main(String[] args) {
            String s1="adc";
            String s2="dcda";
            //System.out.println(s1.compareTo(s2));
            System.out.println(checkInclusion(s1,s2));
        }
    }
    

      运行结果:

  • 相关阅读:
    centos7系统初始化脚本
    git上传项目到github
    requests的使用
    zip函数
    mongodb基本操作
    mongodb的安装与配置启动(转)
    jupyter插件与主题
    map函数
    centos7 安装 ffmpeg
    centos7 下 yum 安装Nginx
  • 原文地址:https://www.cnblogs.com/jifeng0902/p/13626776.html
Copyright © 2011-2022 走看看