2019拼多多暑期实习生机试题-02趣味字母卡片(java)

 

分析:

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();Map map =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) {   //是重复的我要记录下最小的,将重复数-1if(s.charAt(i)

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部