码迷,mamicode.com
首页 > 编程语言 > 详细

西安尚学堂练习09.11|Java编程笔试面试题

时间:2019-09-12 09:16:15      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:数字   follow   asdasdas   input   ofo   child   尚学堂   hash   stringbu   

  • 功能描述:删除字符串中字符个数最少的字符,最少字符串有多个,最少的要全部删除,然后返回该子字符串。
    输入:asdasdas
    输出:asasas
    解答:
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    public class DeleteLittle {
    public static void main(String[] args) {
    String str = "asdasdas";
    System.out.println(deleteLittle(str));
    public static String deleteLittle(String str) {
    Map<Character,Integer> map = new HashMap<Character,Integer>();
    char[] ch = str.toCharArray();
    for(int i = 0;i<ch.length;i++) {
    if(!map.containsKey(ch[i])){
    map.put(ch[i], 1);
    }else {
    map.put(ch[i], map.get(ch[i])+1);
    List<Map.Entry<Character,Integer>> list = newArrayList<Map.Entry<Character,Integer>>(map.entrySet());
    Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>(){br/>@Override
    public int compare(Entry<Character, Integer> o1,
    Entry<Character, Integer> o2) {
    return o1.getValue().compareTo(o2.getValue());
    });
    String[] s = str.split(list.get(0).getKey().toString());
    StringBuffer sb = new StringBuffer();
    for(int i = 0;i<s.length;i++) {
    sb.append(s[i]);
    return sb.toString();
    2.功能描述:输入字符串,将该字符串中数字放到非数字的后面,并保持原有顺序不变。
    例如:h3a2p0p1y----------happy3201
    public class Demo27 {
    public static void main(String[] args) {
    String str = "h3a2p0p1y";
    System.out.println(childStr(str));
    public static String childStr(String inputStr){
    String numStr = "";
    String str = "";
    String numRegex = "[0-9]";
    String strRegex = "[a-zA-Z]";
    for(int i = 0;i<inputStr.length();i++) {
    if((inputStr.charAt(i)+"").matches(numRegex)) {
    numStr += inputStr.charAt(i);
    }else if((inputStr.charAt(i)+"").matches(strRegex)) {
    str += inputStr.charAt(i);
    return str+numStr;
    3.提取不重复的整数
    描述: 输入一个int型32位整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
    运行时间限制: 10 Sec
    内存限制: 无限制
    输入: 整数,如9876673
    注意:
    1、整数最后的0,请忽略,例如:输入1750,输出:571
    2、负数,保留‘-‘在前面,例如:输入-175,输出:-571
    输出: 整数,如37689
    样例输入: 9876673
    样例输出: 37689
    解答:
    public class Demo37 {
    public static void main(String[] args) {
    int num = -12310;
    System.out.println(getConvertInt(num));
    public static int getConvertInt(int num) {
    String str = String.valueOf(num);
    StringBuffer sb = new StringBuffer();
    boolean flg = true;
    if(str.charAt(0) == ‘-‘) {
    flg = false;
    sb.append(str.charAt(0));
    if(str.charAt(str.length()-1) != ‘0‘) {
    sb.append(str.charAt(str.length()-1));
    for(int i = str.length()-2;i>0;i--) {
    sb.append(str.charAt(i));
    if(flg) {
    sb.append(str.charAt(0));
    return Integer.parseInt(sb.toString());
  • 西安尚学堂练习09.11|Java编程笔试面试题

    标签:数字   follow   asdasdas   input   ofo   child   尚学堂   hash   stringbu   

    原文地址:https://blog.51cto.com/14512197/2437476

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!