• Java程序猿的书面采访String3


    public class SameString {
        //思想二:每个字符都相应着自己的ASC码,第一个思想的算法复杂度为O(nlogn)。一般能够利用空间来减少时间复杂度
    	//能够开辟一个大小为256的数组空间,而且将256个数组元素都置为0,然后遍历第一个字符串把字符的ASC作为数组下标。数组元素都加1,
    	//然后遍历第二个字符串将数组元素的各个值都减1,假设最后数组元素的值为0的话说明就是同样的字符串。此算法的时间复杂度为O(n)
    	public static void compare(String s1,String s2){
    		byte[] b1=s1.getBytes();
    		byte[] b2=s2.getBytes();
    		int[] bCount=new int[256];
    		
    		for(int i=0;i<256;i++){
    			bCount[i]=0;
    		}
    		for(int i=0;i<b1.length;i++){
    			bCount[b1[i]-'0']++;
    		}
    		for(int i=0;i<b2.length;i++){
    			bCount[b2[i]-'0']--;
    		}
    		for(int i=0;i<256;i++)
    			if(bCount[i]!=0){
    				System.out.println("not equal!");
    				return;
    			}
    			   System.out.println("equal!");
    			
    		
    	}
    	public static void main (String args[]){
    		String s1="aaabbbccc";
    		String s2="ababacbcc";
    		compare(s1, s2);
    		String s3="aabbccdd";
    		String s4="abc";
    		compare(s3, s4);
    		
    	}
    	
    }
    结果:equal
    not equal


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    即使年龄小,我也是你的领导
    当老外骂你时,你就这样...
    纵横职场宝典
    22岁女老总欲筹办创业联盟
    让你的发言语出惊人
    爱因斯坦难题,98%的人答不出这道题!
    小本创业的11个步骤
    未来十大热门挣钱职业
    常用英语对话
    折腾是检验人才的唯一标准
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4617654.html
Copyright © 2020-2023  润新知