博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lintcode-easy-Compare Strings
阅读量:5366 次
发布时间:2019-06-15

本文共 1342 字,大约阅读时间需要 4 分钟。

Compare two strings A and B, determine whether A contains all of the characters in B.

The characters in string A and B are all Upper Case letters.

Example

For A = "ABCD"B = "ACD", return true.

For A = "ABCD"B = "AABC", return false.

Note

The characters of B in A are not necessary continuous or ordered.

 

这道题也没太多好说的,cracking code interview提过这种小技巧

public class Solution {    /**     * @param A : A string includes Upper Case letters     * @param B : A string includes Upper Case letter     * @return :  if string A contains all of the characters in B return true else return false     */    public boolean compareStrings(String A, String B) {        // write your code here        if(A == null)            return false;                if(B == null || B.length() == 0)            return true;                int[] count = new int[26];                int lengthA = A.length();        int lengthB = B.length();                if(lengthB > lengthA)            return false;                for(int i = 0; i < lengthA; i++){            count[A.charAt(i) - 'A']++;        }                for(int i = 0; i < lengthB; i++){            count[B.charAt(i) - 'A']--;                        if(count[B.charAt(i) - 'A'] < 0)                return false;        }                return true;    }}

 

转载于:https://www.cnblogs.com/goblinengineer/p/5212545.html

你可能感兴趣的文章
职场上一个人情商高的十种表现
查看>>
【底层原理】深入理解Cache (下)
查看>>
Elasticsearch安装中文分词插件IK
查看>>
进阶4:常见函数-单行函数
查看>>
简述企业信息化与企业架构关系
查看>>
npoi List 泛型导出
查看>>
流程图怎么画?分享绘制流程图简单方法
查看>>
squid的处理request和reply的流程
查看>>
硬件_陀螺仪
查看>>
C#读取MySql表字段出现System.Byte[]问题
查看>>
三、winForm-DataGridView操作——DataGridView 操作复选框checkbox
查看>>
SSIS的部署和配置
查看>>
计算机内存管理介绍
查看>>
POJ 2761 Feed the dogs 求区间第k大 划分树
查看>>
mysql中间件研究(Atlas,cobar,TDDL)[转载]
查看>>
ASP.NET应用程序与页面生命周期
查看>>
Linux--多网卡的7种Bond模式
查看>>
Oracle命令(一):Oracle登录命令
查看>>
业务建模 之 业务用例图
查看>>
EasyUI基础入门之Pagination(分页)
查看>>