代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
比较两个字符串A和B,确定A中是否包含B中所有的字符。
作者:
/ 发布于
2018/5/12
/
698
目前思路是分别扫描两个字符串得到两个map
比较字母出现次数,若A的每个字母次数都>=B , 则成立。同理 判断是否互为变位词也可以使用这个思路,把次数判断为相等即可
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 Map<Character,Integer> map1=new HashMap<>(); Map<Character,Integer> map2=new HashMap<>(); char[] word1=A.toCharArray(); char[] word2=B.toCharArray(); for(char c:word1){ if(map1.containsKey(c)){ int val=map1.get(c); map1.put(c,++val); } else{ map1.put(c,1); } } for(char c:word2){ if(map2.containsKey(c)){ int val=map2.get(c); map2.put(c,++val); } else{ map2.put(c,1); } } boolean has=true; for(Map.Entry<Character,Integer> entry:map2.entrySet()){ if(map1.containsKey(entry.getKey())){ if(map1.get(entry.getKey())>=(entry.getValue())){ //这一行第一次跑的时候就错在了这里,当时使用了equals,其实要考虑多的情况 continue; }else{ has=false; break; } }else{ has=false; break; } } return has; } }
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3