最小绝对值
代码
class Solution {
public List<List<Integer>> minimumAbsDifference(int[] arr) {
List<List<Integer>> res=new ArrayList<>();
Arrays.sort(arr);
int minvalue=Integer.MAX_VALUE;
for(int i=1;i<arr.length;i++){
int detail=arr[i]-arr[i-1];
if(minvalue>detail){
List<Integer>temp=new ArrayList<>();
res.clear();
temp.add(arr[i-1]);
temp.add(arr[i]);
res.add(temp);
minvalue=detail;
}else if(minvalue==detail){
List<Integer>temp=new ArrayList<>();
temp.add(arr[i-1]);
temp.add(arr[i]);
res.add(temp);
}
}
return res;
}
}
字符串转整数
思路
工程化思想 依次实现需求
代码
class Solution {
public int myAtoi(String s) {
int len=s.length();
int stratIndex=0;
char[]arr=s.toCharArray();
//去除空格
for(int i=stratIndex;i<len;i++){
if(arr[i]==' '){
stratIndex++;
}else{
break;
}
}
if(stratIndex==len){
return 0;
}
//判断符号
int falg=1;
if(arr[stratIndex]=='+'){
stratIndex++;
}else if(arr[stratIndex]=='-'){
falg=-1;
stratIndex++;
}
//字符串变整数
int res=0;
for(int i=stratIndex;i<len;i++){
if(arr[i]>'9'||arr[i]<'0'){
break;
}
if(res>Integer.MAX_VALUE/10||(res==Integer.MAX_VALUE/10&&arr[i]-'0'>Integer.MAX_VALUE%10)){
return Integer.MAX_VALUE;
}
if(res<Integer.MIN_VALUE/10||(res==Integer.MIN_VALUE/10&&arr[i]-'0'>-(Integer.MIN_VALUE%10))){
return Integer.MIN_VALUE;
}
res=res*10+(arr[i]-'0')*falg;
}
return res;
}
}