标签:har 整数 代码 pre valueof int image lse 不能
思路
代码
public int maxDiff(int num) {
String s = String.valueOf(num);
int len= s.length();
char[] chars = s.toCharArray();
String s1="";
String s2="";
int max=0,min=0;
if(len<=1) return 8;
int index=0;
//寻找最大数
while(index<len&&s.charAt(index)==‘9‘){
index++;
}
s1=s.substring(0,index);
char c=s.charAt(index);
for(int i=index;i<len;i++){
if(chars[i]==c){
chars[i]=‘9‘;
}
s1+=chars[i];
}
max=Integer.parseInt(s1);
index=0;
// System.out.println("max:"+max);
//寻找最小数
chars=s.toCharArray();
if(s.charAt(0)!=‘1‘){
c=s.charAt(0);
for(int i=index;i<len;i++){
if(chars[i]==c){
chars[i]=‘1‘;
}
s2+=chars[i];
}
min=Integer.parseInt(s2);
}else{
index=1;
while(index<len&&(s.charAt(index)==‘0‘||s.charAt(index)==‘1‘)){
index++;
}
//例如 1000 此时index会越界 需要对index进行处理v
index=Math.min(index,len-1);
c=s.charAt(index);
s2=s.substring(0,index);
for(int i=index;i<len;i++){
if(chars[i]==c){
chars[i]=‘0‘;
}
s2+=chars[i];
}
min=Integer.parseInt(s2);
}
// System.out.println("min:"+min);
return max-min;
}
标签:har 整数 代码 pre valueof int image lse 不能
原文地址:https://www.cnblogs.com/yh-simon/p/12823149.html