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

西安尚学堂练习09.11|Java编程笔试面试题1. 功能描述:删除字符串中字符个数最少的字符,最少字符串有多个,最少的要全部删除,然后返回该子字符串。输入:asdasdas输出:asasas

大家好,欢迎来到IT知识分享网。

1. 功能描述:删除字符串中字符个数最少的字符,最少字符串有多个,最少的要全部删除,然后返回该子字符串。

输入: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>>(){

@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

内存限制: 无限制

输入: 整数,如

注意:

1、整数最后的0,请忽略,例如:输入1750,输出:571

2、负数,保留’-‘在前面,例如:输入-175,输出:-571

输出: 整数,如37689

样例输入:

样例输出: 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());

}

}

西安尚学堂 http://www.xasxt.com/

Java零基础就业班 最新开班日期:9月24日

上课地址:陕西省西安市高新区科技二路西安软件园天泽大厦五楼

咨询电话:029-

招生对象:

1. 零计算机编程基础学

2. 对行业不满意人士

3. 跨专业编程爱好者

4. 在校大学生实训

Java零基础班,10年 Java 以上开发经验技术讲师、架构师、行业大牛,亲自纯面授课程,

手把手教你写编程。

9月新班免费试听课程已就绪,7天免费听课,体验Java乐趣。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/56092.html

(0)
上一篇 2024-07-24 19:15
下一篇 2024-07-24 21:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信