Java十大经典排序算法的实现图解
292
2022-08-19
剑指Offer之Java算法习题精讲数组与字符和等差数列
题目一
解法
class Solution {
public int[] relativeSortArray(int[] arr1, int[] arr2) {
int[] arr = new int[1001];
int[] ans = new int[arr1.length];
int index = 0;
for(int i =0;i arr[arr1[i]]+=1; } for(int i = 0;i while(arr[arr2[i]]>0){ arr[arr2[i]]--; ans[index] = arr2[i]; index++; } } for(int i =0;i if(arr[i]!=0){ for(int j =0;j ans[index] = i; index++; } } } return ans; } } 题目二 解法 class Solution { public int findLucky(int[] arr) { int[] nums = new int[500]; http:// for(int i =0;i nums[arr[i]]+=1; } int max = -1; for(int i = 1;i if(i == nums[i]){ max = Math.max(max,i); } } return max; } } 题目三 解法 class Solution { public int maxPower(String s) { if(s.length()==1) return 1; int left = 1; int max = Integer.MIN_VALUE; int con = 1; while(left if(s.charAt(left)==s.charAt(left-1)){ con++; max = Math.max(con,max); }else{ max = Math.mahttp://x(con,max); con = 1; } left++; } return max; } } 题目四 解法 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); int num = arr[1]-arr[0]; for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
arr[arr1[i]]+=1;
}
for(int i = 0;i while(arr[arr2[i]]>0){ arr[arr2[i]]--; ans[index] = arr2[i]; index++; } } for(int i =0;i if(arr[i]!=0){ for(int j =0;j ans[index] = i; index++; } } } return ans; } } 题目二 解法 class Solution { public int findLucky(int[] arr) { int[] nums = new int[500]; http:// for(int i =0;i nums[arr[i]]+=1; } int max = -1; for(int i = 1;i if(i == nums[i]){ max = Math.max(max,i); } } return max; } } 题目三 解法 class Solution { public int maxPower(String s) { if(s.length()==1) return 1; int left = 1; int max = Integer.MIN_VALUE; int con = 1; while(left if(s.charAt(left)==s.charAt(left-1)){ con++; max = Math.max(con,max); }else{ max = Math.mahttp://x(con,max); con = 1; } left++; } return max; } } 题目四 解法 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); int num = arr[1]-arr[0]; for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
while(arr[arr2[i]]>0){
arr[arr2[i]]--;
ans[index] = arr2[i];
index++;
}
}
for(int i =0;i if(arr[i]!=0){ for(int j =0;j ans[index] = i; index++; } } } return ans; } } 题目二 解法 class Solution { public int findLucky(int[] arr) { int[] nums = new int[500]; http:// for(int i =0;i nums[arr[i]]+=1; } int max = -1; for(int i = 1;i if(i == nums[i]){ max = Math.max(max,i); } } return max; } } 题目三 解法 class Solution { public int maxPower(String s) { if(s.length()==1) return 1; int left = 1; int max = Integer.MIN_VALUE; int con = 1; while(left if(s.charAt(left)==s.charAt(left-1)){ con++; max = Math.max(con,max); }else{ max = Math.mahttp://x(con,max); con = 1; } left++; } return max; } } 题目四 解法 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); int num = arr[1]-arr[0]; for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
if(arr[i]!=0){
for(int j =0;j ans[index] = i; index++; } } } return ans; } } 题目二 解法 class Solution { public int findLucky(int[] arr) { int[] nums = new int[500]; http:// for(int i =0;i nums[arr[i]]+=1; } int max = -1; for(int i = 1;i if(i == nums[i]){ max = Math.max(max,i); } } return max; } } 题目三 解法 class Solution { public int maxPower(String s) { if(s.length()==1) return 1; int left = 1; int max = Integer.MIN_VALUE; int con = 1; while(left if(s.charAt(left)==s.charAt(left-1)){ con++; max = Math.max(con,max); }else{ max = Math.mahttp://x(con,max); con = 1; } left++; } return max; } } 题目四 解法 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); int num = arr[1]-arr[0]; for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
ans[index] = i;
index++;
}
}
}
return ans;
}
}
题目二
解法
class Solution {
public int findLucky(int[] arr) {
int[] nums = new int[500];
http:// for(int i =0;i nums[arr[i]]+=1; } int max = -1; for(int i = 1;i if(i == nums[i]){ max = Math.max(max,i); } } return max; } } 题目三 解法 class Solution { public int maxPower(String s) { if(s.length()==1) return 1; int left = 1; int max = Integer.MIN_VALUE; int con = 1; while(left if(s.charAt(left)==s.charAt(left-1)){ con++; max = Math.max(con,max); }else{ max = Math.mahttp://x(con,max); con = 1; } left++; } return max; } } 题目四 解法 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); int num = arr[1]-arr[0]; for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
nums[arr[i]]+=1;
}
int max = -1;
for(int i = 1;i if(i == nums[i]){ max = Math.max(max,i); } } return max; } } 题目三 解法 class Solution { public int maxPower(String s) { if(s.length()==1) return 1; int left = 1; int max = Integer.MIN_VALUE; int con = 1; while(left if(s.charAt(left)==s.charAt(left-1)){ con++; max = Math.max(con,max); }else{ max = Math.mahttp://x(con,max); con = 1; } left++; } return max; } } 题目四 解法 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); int num = arr[1]-arr[0]; for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
if(i == nums[i]){
max = Math.max(max,i);
}
}
return max;
}
}
题目三
解法
class Solution {
public int maxPower(String s) {
if(s.length()==1) return 1;
int left = 1;
int max = Integer.MIN_VALUE;
int con = 1;
while(left if(s.charAt(left)==s.charAt(left-1)){ con++; max = Math.max(con,max); }else{ max = Math.mahttp://x(con,max); con = 1; } left++; } return max; } } 题目四 解法 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); int num = arr[1]-arr[0]; for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
if(s.charAt(left)==s.charAt(left-1)){
con++;
max = Math.max(con,max);
}else{
max = Math.mahttp://x(con,max);
con = 1;
}
left++;
}
return max;
}
}
题目四
解法
class Solution {
public boolean canMakeArithmeticProgression(int[] arr) {
Arrays.sort(arr);
int num = arr[1]-arr[0];
for(int i = 1;i if(arr[i]-arr[i-1]==num){ continue; }else{ return false; } } return true; } }
if(arr[i]-arr[i-1]==num){
continue;
}else{
return false;
}
}
return true;
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~