HashMap和HashSet使用--统计字符出现的次数
来源:互联网 发布:c语言是c 的基础吗 编辑:程序博客网 时间:2024/05/11 02:05
题目描述:
小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一行。(如果两种方式所对应的砖块颜色序列是相同的,那么认为这两种方式是一样的。)
例如: s = "ABAB",那么小易有六种排列的结果:
"AABB","ABAB","ABBA","BAAB","BABA","BBAA"
其中只有"AABB"和"BBAA"满足最多只有一对不同颜色的相邻砖块。
分析:统计字母出现次数
package problems_2017_08_23;import java.util.Collection;import java.util.HashMap;import java.util.HashSet;import java.util.Scanner;public class Problem_01_01 {public static void main(String[] args){Scanner scan=new Scanner(System.in);String str=scan.nextLine();//HashMapHashMap<Character, Integer> map=new HashMap<Character,Integer>();int count=0;for(int i=0;i<str.length();i++){char ch=str.charAt(i);if(!map.containsKey(ch)){map.put(ch, 1);count++;}else{map.put(ch, map.get(ch)+1);}}//HashSet//HashSet<Character> set=new HashSet<Character>();//int count=0;//for(int i=0;i<str.length();i++){//char ch=str.charAt(i);//if(!set.contains(ch)){//set.add(ch);//count++;//}//}if(count>2){System.out.println("0");}else if(count==2){System.out.println("2");}else{System.out.println(count);}}}
阅读全文
0 0
- HashMap和HashSet使用--统计字符出现的次数
- HashMap练习统计字符串中每个字符出现的次数和HashMap嵌套HashMap
- hashmap统计字符串中每个字符出现的次数
- 统计字符串中字符出现的次数(TreeMap、HashMap)
- 统计字符出现的次数和数字出现的次数
- 统计出现字符的次数
- 统计字符出现的次数
- 统计字符出现的次数
- TreeMap的使用实例:统计字符出现次数
- java统计字符串中每个字符出现的次数并查询出现次数最多的字符和次数
- 统计字符出现次数
- 统计字符出现次数
- 字符出现次数统计的删除算法
- 统计字符串每个字符出现的次数
- 统计指定字符出现的次数
- 统计ASCII 字符的出现次数
- C#统计每个字符出现的次数
- 统计字符串各字符出现的次数
- java很好的一些面试问题
- js基础和简单应用
- Map中封装Map并且在前端取出
- [Java]复习笔记(三)--基本语法
- hdu 6181 Two Paths -最短路条数+次短路
- HashMap和HashSet使用--统计字符出现的次数
- 恩JSP的学习
- 一个可供参考的Java高并发异步应用案例--转
- 通俗理解决策树中的熵&条件熵&信息增益
- Day11-38.Iteration
- Java Socket 实现HTTP与HTTPS协议发送POST/GET请求
- iOS 发布程序~笔记
- R 文本挖掘 Part2--几个聚类分类算法以及应用
- B: 字符串的展开