Docker步步实践
目录文档:
①Docker简介
②基本概念
③安装Docker
④使用镜像:
⑤操作容器:
⑥访问仓库:
⑦数据管理:
⑧使用网络:
⑨高级网络配置:
⑩安全:
⑪底层实现:
⑫其他项目:
输出连续出现次数第k多的字母的次数。
输入 | 输出 | 说明 |
---|---|---|
AAAAHHHBBCDHHHH3 | 2 | 同一字母连续出现的最多的是A和H,四次;第二多的是H,3次,但是H已经存在4个连续的,故不考虑;下个最长子串是BB,所以最终答案应该输出2 |
AABAAA 2 | 1 | 同一字母连续出现的最多的是A,三次;第二多的还是A,两次,但A已经存在最大连续次数三次,故不考虑;下个最长子串是B,所以输出1。 |
源码与解析
解析:
可以考虑将字符例如A与其出现的次数写入Map对象 ,A下次出现的次数如果比上次多,就替换,否则就不管 例如 AABAAA=》 {A:2}=>{A:2,B:1}=>{A:3,B:1}
将集合还原为字符串转换到List中 [AAA,B]
List按字符的长度来排序(大到小) 输出顺序对应的位置的字符即可
示例代码:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class T16 {
public static void main(String[] args) {
String input = "AAAAHHHBBCDHHHH";
int index = 1;
String temStr = getSameCharacter(input);
Map<Character, Integer> map = new HashMap<Character, Integer>();
map.put(temStr.charAt(0), temStr.length());
while (input.replaceFirst(temStr, "").length() > 0) {
input = input.replaceFirst(temStr, "");
temStr = getSameCharacter(input);
if (map.get(temStr.charAt(0)) == null) {
map.put(temStr.charAt(0), temStr.length());
continue;
}
// 原来的小于当前 否则不换
if (map.get(temStr.charAt(0)) < temStr.length()) {
map.put(temStr.charAt(0), temStr.length());
}
}
ArrayList<String> strList = new ArrayList<>();
Set<Character> keySet = map.keySet();
Iterator<Character> it = keySet.iterator();
while (it.hasNext()) {
Character character = it.next();
Integer len = map.get(character);
StringBuilder str = new StringBuilder();
for (int i = 0; i < len; i++) {
str.append(character);
}
strList.add(str.toString());
}
strList.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if (o1.length() > o2.length())
return -1;
if (o1.length() < o2.length())
return 1;
return 0;
}
});
System.out.println(strList);
System.out.println(strList.get(index - 1).length());
// System.out.println(map);
}
# **学习分享,共勉**
这里是小编拿到的学习资源,其中包括“中高级Java开发面试高频考点题笔记300道.pdf”和“Java核心知识体系笔记.pdf”文件分享,内容丰富,**囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。同时还有Java进阶学习的知识笔记脑图(内含大量学习笔记)!**
> **资料整理不易,读者朋友可以转发分享下!**
**Java核心知识体系笔记.pdf**
![记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经](https://img-blog.csdnimg.cn/img_convert/46e4aa3dcd4a4e4880a4b617643cb90d.webp?x-oss-process=image/format,png)
**中高级Java开发面试高频考点题笔记300道.pdf**
![记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经](https://img-blog.csdnimg.cn/img_convert/7ed8011dde7c5731360b1615b4d384d8.webp?x-oss-process=image/format,png)
**架构进阶面试专题及架构学习笔记脑图**
![记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经](https://img-blog.csdnimg.cn/img_convert/b815a6b97967d57e93ccf5d2c9c1e797.webp?x-oss-process=image/format,png)
**Java架构进阶学习视频分享**
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**