Java数据结构面试题,输出 最后一个 出现次数为1的字符
今天去面试,遇到一个数据结构题,给定一个字符串,输出 最后一个 出现次数为1的字符
回来研究了下,代码如下:
package com.pine.interview.test; import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set; public class LinkedHashMapTest {
public static void main(String[] args) {
//1.统计 字符-出现次数
String str = "qweasdqeqwevqeburtuvcivb";
LinkedHashMap<Character,Integer> map = new LinkedHashMap<Character,Integer>();
for(int i=0;i<str.length();i++){
char ch = str.charAt(i);
if(map.containsKey(ch)){
map.put(ch,map.get(ch)+1);
}else{
map.put(ch,1);
}
}
//2.将 出现次数为1 的字符放入List中
Set<Entry<Character, Integer>> entrySet = map.entrySet();
// for(Entry<Character, Integer> entry : entrySet){//输出 字符-出现次数 映射
// System.out.println(entry.getKey()+"--->"+entry.getValue());
// } List<Character> characters = new ArrayList<Character>();
for(Entry<Character, Integer> entry : entrySet){
if(entry.getValue()==1){
characters.add(entry.getKey());
}
}
// for(Character character : characters){//输出 出现次数为1 的字符
// System.out.println(character);
// }
//3.输出 最后一个 出现次数为1 的字符
System.out.println(characters.get(characters.size()-1)); }
}
主要是使用LinkedHashMap这个类统计 字符-出现次数,
相比HashMap来说,LinkedHashMap是有序的,它相当于LinkedList+HashMap
好了,就这样吧~~~
Java数据结构面试题,输出 最后一个 出现次数为1的字符的更多相关文章
- java算法面试题:有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数 按值的降序排序,如果值相同则按键值的字母顺序
package com.swift; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; publi ...
- Java数据结构面试题
1.栈和队列的共同特点是(只允许在端点处插入和删除元素) 4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D) A.栈是非线性结构B.栈是一种树状 ...
- java算法面试题:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个, 如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。
package com.swift; import java.util.Scanner; public class Hanzi_jiequ { public static void main(Stri ...
- dos界面下执行java文件将错误输出到一个文本小技巧
如果dos下执行java出现错误,把错误记录到一个文档 正确时如图,输出结果为hello,我把String的s改为小写,出现错误,用2>命令输出到error.txt在当前目录就出现了error. ...
- C++数据结构面试题
原文:http://1527zhaobin.iteye.com/blog/1537110 一.判断链表是否存在环型链表问题: 说明:判断一个链表是否存在环,例如下面这个链表就存在环,n1--> ...
- java算法面试题:设计一个快速排序。双路快速排序,简单易于理解。
package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util.Compar ...
- Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg
package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...
- java算法面试题:编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- 从一道索引数据结构面试题看B树、B+树
题目1: Mysql数据库用过吧?l里面的索引是基于什么数据结构. 答:主要是基于Hash表和B+树 题目2: 很好请你说一下B+树的实现细节是什么样的?B-树和B+树有什么区别?联合索引在B+树中如 ...
随机推荐
- 运用 三种 原生 谷歌 阿里 解析和生成json
三种类生成JSON数据方法 JSON(原生): 第一种 JSONStringer和JSONObject区别在于添加对象时是按顺序添加的比如说 JSONStringer 添加 a:1 b:2 c:3那么 ...
- 05 Android强制设置横屏或竖屏/全屏
全屏 在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码 requestWindowFeature(Window.FEATURE_NO_TIT ...
- Fresco图片框架内部实现原理探索
流行的网络框架 目前流行的网络图片框架: Picasso.Universal Image Loader.Volley的(ImageLoader.NetworkImageView).Glide和Fres ...
- RAMCloud:内存云存储的内存分配机制
现在全闪存阵列已经见怪不怪了,EMC的XtremIO,还有VNX-F(Rockies),IBM FlashSystem.全闪存真正为效率而生,重新定义存储速度.凭借极致性能,高可用性,为您极大提高企业 ...
- Asp.net实现下拉框和列表框的连动
走过了牛腩老师的新闻发布系统,漫游过了孙鑫老师的Html,在427沐浴第一缕冬日阳光的美丽月底,小编迎来了北大青鸟的Asp.net,北大青鸟,高大上的赶脚有么有,哈哈哈,开始了小编的.net之旅. 首 ...
- Java项目案例:酒店前台客服管理系统
import java.util.Scanner; public class HelloWorld { public static void main(String[] args){ String [ ...
- 【一天一道LeetCode】#107. Binary Tree Level Order Traversal II
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源: htt ...
- MO_GLOBAL - EBS R12 中 Multi Org 设计的深入研究(1)
在改EBS的BUG过程中,会在网上查找很多资料,这次是碰到一个多组织(Multi Org)的问题,发现Anil Passi写的几篇文章不错,慢慢的会陆续翻译过来,这次翻译的是http://getapp ...
- 从JDK源码角度看java并发的公平性
JAVA为简化开发者开发提供了很多并发的工具,包括各种同步器,有了JDK我们只要学会简单使用类API即可.但这并不意味着不需要探索其具体的实现机制,本文从JDK源码角度简单讲讲并发时线程竞争的公平性. ...
- 通过freemarker生成一个word,解决生成的word用wps打开有问题的问题,解决出word时中文文件名乱码问题,解决打开出word时打开的word出现问题的问题,出图片,解决动态列表
通过freemarker制作word比较简单 步骤:制作word模板.制作方式是:将模板word保存成为xml----在xml的word模板中添加相应的标记----将xml的word文件的后缀名 ...