输入: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());
原文地址:https://blog.51cto.com/14512197/2437476
时间: 2024-10-10 12:34:40