zoukankan      html  css  js  c++  java
  • 算法--词语变形问题

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/67679362ce83ca1bef4ecef5901552dc.html 


    词语变形问题

     
    词语变形练习
     

    第3节 词语变形练习题

     

    对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高效算法,检查两给定串是否互为变形词。

    给定两个字符串AB及他们的长度,请返回一个bool值,代表他们是否互为变形词。

    测试样例:
    "abc",3,"bca",3
    返回:true
     
     
    1
    import java.util.*;
    2
    
    
    3
    public class Transform {
    4
        public boolean chkTransform(String A, int lena, String B, int lenb) {
    5
            if(A == null || B == null || A.length() != B.length()) {
    6
                return false;
    7
            }
    8
            char[] ch1 = A.toCharArray();
    9
            char[] ch2 = B.toCharArray();
    10
            int[] map = new int[65535];//java中字符的范围是0~65535
    11
            for(int i =0; i<ch1.length; i++){
    12
                  map[ch1[i]]++;//比如a对应的ASCII码是97,那么map[97]++          
    13
            }
    14
            for(int i=0; i<ch2.length; i++) {
    15
                if(map[ch2[i]]-- == 0){
    16
                    return false;//如果字符B中的字符在map数组中对应为0,返回false
    17
                }
    18
            }
    19
            return true;
    20
        }
    21
    }
     
     
    您的代码已保存
    答案正确:恭喜!您提交的程序通过了所有的测试用例
  • 相关阅读:
    vue导出Excel表格(纯前端)
    Ubuntu16.04+CUDA8.0+CUNN5.1+caffe+tensorflow+Theano
    python高级特性
    顺序容器
    感知机和支持向量机
    IO库
    字符串、向量、数组、迭代器

    c++函数
    C++语句
  • 原文地址:https://www.cnblogs.com/haozhengfei/p/67679362ce83ca1bef4ecef5901552dc.html
Copyright © 2011-2022 走看看