check Str's Character appearence frequence is ge 1
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
import java.util.*;
public class HackerRankTest {
public static void main(String[] args) {
String srcStr="We promptly judged antique ivory buckles for the next prize";
String srcStr1="We promptly judged antique ivory buckles for the prize";
boolean checkStrIsSubStr = checkStrIsSubStr(srcStr);
if (checkStrIsSubStr){
System.out.println("pangram");
}else {
System.out.println("not pangram");
}
boolean checkStrIsSubStr1 = checkStrIsSubStr(srcStr1);
if (checkStrIsSubStr1){
System.out.println("pangram");
}else {
System.out.println("not pangram");
}
}
/**
* judge Str's Character appearence frequence is ge 1.
* @param srcStr
* @return
*/
public static boolean checkStrIsSubStr(String srcStr){
if (srcStr==null){
return false;
}
if (srcStr.isEmpty()){
return false;
}
int length = srcStr.length();
if (length<1 || length>1000){
return false;
}
for (int i = 0; i < length; i++) {
char charAt = srcStr.charAt(i);
if (charAt==' '){
continue;
}else if (charAt>='A' && charAt<= 'z'){
continue;
}else {
return false;
}
}
HashMap<Character, Integer> characterIntegerHashMap = new HashMap<Character, Integer>();
String srcStrDest = srcStr.replaceAll("\\s", "&");
for (int i = 0; i < length; i++) {
char charAt = srcStrDest.charAt(i);
if (characterIntegerHashMap.containsKey(charAt)){
characterIntegerHashMap.put(charAt,characterIntegerHashMap.get(charAt)+1);
}else {
characterIntegerHashMap.put(charAt,1);
}
}
ArrayList<CustomerCharacterRec> customerCharacterRecArrayList = new ArrayList<CustomerCharacterRec>();
for (Map.Entry<Character,Integer> entry: characterIntegerHashMap.entrySet()) {
Character key = entry.getKey();
Integer entryValue = entry.getValue();
CustomerCharacterRec customerCharacterRec = new CustomerCharacterRec();
UUID randomUUID = UUID.randomUUID();
String toString = randomUUID.toString();
customerCharacterRec.setId(toString);
customerCharacterRec.setSrcCharacter(key);
customerCharacterRec.setCountFrequence(entryValue);
customerCharacterRecArrayList.add(customerCharacterRec);
}
System.out.println(customerCharacterRecArrayList);
String srcStrStr=" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
HashMap<Character, Integer> characterIntegerHashMap1Src = new HashMap<Character, Integer>();
for (int i = 0; i < srcStrStr.length(); i++) {
char charAt = srcStrStr.charAt(i);
if (charAt==' '){
charAt='&';
}
characterIntegerHashMap1Src.put(charAt,1);
}
ArrayList<CustomerCharacterRec> customerCharacterRecs1SrcList = new ArrayList<CustomerCharacterRec>();
for (Map.Entry<Character,Integer> entry : characterIntegerHashMap1Src.entrySet()) {
Character key = entry.getKey();
Integer entryValue = entry.getValue();
CustomerCharacterRec customerCharacterRecSrc = new CustomerCharacterRec();
UUID randomUUID = UUID.randomUUID();
String toString = randomUUID.toString();
customerCharacterRecSrc.setId(toString);
customerCharacterRecSrc.setSrcCharacter(key);
customerCharacterRecSrc.setCountFrequence(entryValue);
customerCharacterRecs1SrcList.add(customerCharacterRecSrc);
}
System.out.println("---------srcDataSet------");
// System.out.println(customerCharacterRecs1SrcList);
Collections.sort(customerCharacterRecs1SrcList,new Comparator<CustomerCharacterRec>() {
@Override
public int compare(CustomerCharacterRec o1, CustomerCharacterRec o2) {
if (o1.getSrcCharacter()>o2.getSrcCharacter()){
return 1;
}else if(o1.getSrcCharacter()<o2.getSrcCharacter()){
return -1;
}
return 0;
}
});
System.out.println(customerCharacterRecs1SrcList);
Collections.sort(customerCharacterRecArrayList, new Comparator<CustomerCharacterRec>() {
@Override
public int compare(CustomerCharacterRec o1, CustomerCharacterRec o2) {
if (o1.getSrcCharacter()>o2.getSrcCharacter()){
return 1;
}else if (o1.getSrcCharacter()<o2.getSrcCharacter()){
return -1;
}
return 0;
}
});
System.out.println(customerCharacterRecArrayList);
for (CustomerCharacterRec customerCharacterRec : customerCharacterRecs1SrcList) {
Character srcCharacter = customerCharacterRec.getSrcCharacter();
Integer countFrequence = customerCharacterRec.getCountFrequence();
for (CustomerCharacterRec characterRec : customerCharacterRecArrayList) {
Character srcCharacter1 = characterRec.getSrcCharacter();
Integer countFrequence1 = characterRec.getCountFrequence();
if (srcCharacter==srcCharacter1){
if (countFrequence1>=countFrequence){
return true;
}else {
return false;
}
}
}
}
return false;
}
}
class CustomerCharacterRec{
private String id;
private Character srcCharacter;
private Integer countFrequence;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Character getSrcCharacter() {
return srcCharacter;
}
public void setSrcCharacter(Character srcCharacter) {
this.srcCharacter = srcCharacter;
}
public Integer getCountFrequence() {
return countFrequence;
}
public void setCountFrequence(Integer countFrequence) {
this.countFrequence = countFrequence;
}
@Override
public String toString() {
return "CustomerCharacterRec{" +
"id='" + id + '\'' +
", srcCharacter=" + srcCharacter +
", countFrequence=" + countFrequence +
'}';
}
}
check Str's Character appearence frequence is ge 1的更多相关文章
- check windows return character
#ifndef _FILE_CHECK_H#define _FILE_CHECK_H#include <string.h>#include <vector> const int ...
- python之Character string
1.python字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串,l Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. ...
- python基础===Character string
本文转自:python之Character string 1.python字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串,l Python不支持单 ...
- 【Python】python之Character string
1.python字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串,l Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. ...
- Leetcode分类刷题答案&心得
Array 448.找出数组中所有消失的数 要求:整型数组取值为 1 ≤ a[i] ≤ n,n是数组大小,一些元素重复出现,找出[1,n]中没出现的数,实现时时间复杂度为O(n),并不占额外空间 思路 ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- POJ2955:Brackets(区间DP)
Description We give the following inductive definition of a “regular brackets” sequence: the empty s ...
- Angular源代码学习笔记-原创
时间:2014年12月15日 14:15:10 /** * @license AngularJS v1.3.0-beta.15 * (c) 2010-2014 Google, Inc. http:// ...
- 【转】double-array trie 译文+心得
原文:http://blog.csdn.net/zzran/article/details/8462002 概论 下面将呈现一种新的内部数组结构,它便是double-array.double-arra ...
- 201521123070 《JAVA程序设计》第7周学习总结
1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 Q1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码: pub ...
随机推荐
- 从零开始学Spring Boot系列-集成Spring Security实现用户认证与授权
在Web应用程序中,安全性是一个至关重要的方面.Spring Security是Spring框架的一个子项目,用于提供安全访问控制的功能.通过集成Spring Security,我们可以轻松实现用户认 ...
- 在C#中使用RabbitMQ做个简单的发送邮件小项目
在C#中使用RabbitMQ做个简单的发送邮件小项目 前言 好久没有做项目了,这次做一个发送邮件的小项目.发邮件是一个比较耗时的操作,之前在我的个人博客里面回复评论和友链申请是会通过发送邮件来通知对方 ...
- Mysql通过frm和ibd恢复数据库
昨天的考试过程中,有个考点的服务器蓝屏重启后发现Mysql启动不了(5.6.45 x32版本,使用innoDB),重装后无法加载原数据库记录,通过查询资料,通过frm和idb文件成功恢复了数据库记录. ...
- Spring5.X的注解配置项目
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- MyBatis xml文件头
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...
- c 语言学习第六天
数组 语法: 类型 数组名[元素个数]; int a[6]; // 4*6 字节 char b[24]; // 1*24 字节 double c[2]; // 2*8 字节 访问数组中的元素 语法: ...
- Linux 中 WIFI 和热点的使用
之前一直在 ubuntu 的图形界面中使用,突然需要在 ARM 板上打开热点,一时给弄蒙了,在此记录一下 一.网卡命令 显示所有网络信息 sudo ip link show 关闭或打开网络 sudo ...
- MySQL之DQL
*****DQL -- 数据查询语言 查询不会修改数据库表记录! 一. 基本查询 1. 字段(列)控制 1) 查询所有列 SELECT * FROM 表名; SELECT * FROM emp ...
- 探索Amazon S3:存储解决方案的基石(Amazon S3使用记录)
探索Amazon S3:存储解决方案的基石 本文为上一篇minio使用的衍生版 相关链接:1.https://www.cnblogs.com/ComfortableM/p/18286363 2.h ...
- Jmeter函数助手30-groovy
groovy函数用于脚本执行. 表达式评估:填入Apache Groovy脚本(不是文件名).本身包含逗号的参数值应根据需要进行转义'\,' 存储结果的变量名(可选) 1.引用变量进行截取字符处理 $ ...