2019拼多多暑期实习生机试题-02趣味字母卡片(java)
发布日期:2021-06-20 05:37:08
浏览次数:3
分类:技术文章
本文共 1093 字,大约阅读时间需要 3 分钟。
分析:
1. 名词解释
字母序要理解:字典序(dictionary order),又称 字母序(alphabetical order),原意是表示英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系。在字典中,单词是按照首字母在字母表中的顺序进行排列的,比如 alpha 在 beta 之前。而第一个字母相同时,会去比较两个单词的第二个字母在字母表中的顺序,比如 account 在 advanced 之前,以此类推。
2. 算法思想
在讲字符串全部转为小写后先计算重复的字符个数。然后从头开始检查一直重复的字符,并将此字符重复字数减一,直到遇到重复次数为1的字符为止。检查的过程一直记录最小的字符,最后输出。
原因:题目中删除所有重复的字符,无论怎么删最后的字符个数是一样的。我们要做的就是使头一个字符最小(题目中只需要输出第一个字符),遇到重复的字符我们有两种选择:如果这个字符留在前面能作为最小的字符就留着,否则就删掉。
java代码:
import java.util.*;/** * @author: Mr.Hu * @create: 2019-03-01 21:10 */public class Main{ public static void main(String[] args) { Scanner sc =new Scanner(System.in); while (sc.hasNext()){ String s=sc.next().toLowerCase(); Mapmap =new HashMap<>(); for (int i = 0; i < s.length(); i++) { if(map.containsKey(s.charAt(i))) map.put(s.charAt(i),map.get(s.charAt(i))+1); else map.put(s.charAt(i),1); } char result ='z'; int i=0; while (map.get(s.charAt(i)) >1) { //是重复的我要记录下最小的,将重复数-1 if(s.charAt(i)
转载地址:https://blog.csdn.net/h2453532874/article/details/88384715 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月01日 07时09分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
安卓开发入门教程-通过WebView打开网页
2019-04-26
安卓开发入门教程-通过MediaPlayer播放音频
2019-04-26
安卓中如何实现左滑菜单
2019-04-26
安卓流式布局FlowLayout样例
2019-04-26
Kotlin打印方法执行耗时
2019-04-26
Unity 之 UGUI Button按钮组件详解
2019-04-26
Angular2工程部署到Tomcat服务器,第一次访问正常,刷新浏览器后报404错误
2019-04-26
CentOS安装gitblit
2019-04-26
搭建Maven私服Nexus(CentOS版)
2019-04-26
Angular引入jQuery
2019-04-26
Angular引入第三方JS插件
2019-04-26
Angular不能识别js对象
2019-04-26
批量修改行政区划
2019-04-26
Creative Tim
2019-04-26
再来 20 个免费的 Bootstrap 的后台管理模板
2019-04-26
DH-UAP(大华统一应用开发平台)开发简介
2021-06-29
IntelliJ IDEA WINDOWS & LINUX KEYMAP
2021-06-29
angular实现简单的pagination分页组件
2021-06-29