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 ...
随机推荐
- python重拾第十天-协程、异步IO
本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾 ...
- 常见 i2c设备地址
背景 朋友分享的一份i2c器件地址清单,我觉得还不错. reference:https://learn.adafruit.com/i2c-addresses/the-list Special case ...
- Linux 网络编程的5种IO模型 总结
背景 在网络编程中,经常会用到一些模型,在这里做一下总结. 正文 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO 这是最简单的模型,一般配合多线程来实现. Linux 网络编程的5种IO模型 ...
- Profinet IO从站数据 转EtherCAT项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 使用PRONETA软件获取PROFINET IO从站的配置信息 2 5 设置网关采集PROFINETIO从站设备数据 5 ...
- 机器学习(三)——K最临近方法构建分类模型(matlab)
K最临近(K-Nearest Neighbors,KNN)方法是一种简单且直观的分类和回归算法,主要用于分类任务.其基本原理是用到表决的方法,找到距离其最近的K个样本,然后通过K个样本的标签进行表决, ...
- [FLET] 01 可以拖动的方块
from typing import List import flet from flet import ( Container, Draggable, DragTarget, Page, Row, ...
- 基于 tc 指令的网速限制工具
前言 最近有一个需求,需要限制网卡速度进行一些测试.在朋友推荐下阅读了这篇文章 TC简单粗暴限制网速. 经过尝试,简单有效,整理成脚本放在正文,留作参考. 正文 指令解析(chatgpt 分析) 您提 ...
- 开源免费的专注于建立大型个人知识库推荐-Trilium Notes
Trilium Notes是一个分层的笔记应用程序,专注于建立大型个人知识库. 支持相当丰富的 markdown,包括 mermaid 和 latex,而且即时渲染,和 typora 一样.支持代码类 ...
- 持久化技术Mybatis知识精讲【形成知识体系篇】
环境要求 JDK1.8及以上版本 MySQL数据库 Apache Maven 3.6.1构建工具 IDEA/VSCode/Eclipse开发工具任选其一 思维导图:Xmind ZEN 技术要求 熟悉J ...
- centos7安装pcntl扩展
查看PHP扩展加载的目录php -i | grep extension_dir Centos下使用yum安装php默认是都不带pcntl扩展,需要安装扩展需要下载安装包,编译安装. 首先查看你的服务器 ...