大家好,欢迎来到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