第一题
解答:直接遍历所有情况
class solution {
public int maximumDifference(int num) {
String s=String.valueOf(num);
if(s.charAt(0)=='-")s=s.substring(1);
int n=s.length();
int max=0,min=1000000;
for(int i=e;i<n ;i++){
String a=s.substring(0,i)+'5'+s.substring(i);
int b=Integer.parseInt(a);
max=Math.max(max,b);
min=Math.min(min,b);
}
return max-min;
}
}
第二题
解答:贪心+哈希表
class Solution {
public int diffFrequencyStr( String word){
int[] res=new int[26];
for( char c : word .tocharArray())res[c-'a']++;
int ans=0;
Set<Integer> set=new HashSet<>();
for(int i=0;i<26;i++){
if(res[i]==0)continue;
int a=res[i],b=a;
while(ser.contains(b)){
b--;
if(b==0)break;
}
ans+=a-b;
set.add(b);
}
return ans;
}
}