这篇文章主要讲解了“Java数组、字符和等差数列问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“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<arr1.length;i++){
arr[arr1[i]]+=1;
}
for(int i = 0;i<arr2.length;i++){
while(arr[arr2[i]]>0){
arr[arr2[i]]--;
ans[index] = arr2[i];
index++;
}
}
for(int i =0;i<arr.length;i++){
if(arr[i]!=0){
for(int j =0;j<arr[i];j++){
ans[index] = i;
index++;
}
}
}
return ans;
}
}
解法
class Solution {
public int findLucky(int[] arr) {
int[] nums = new int[500];
for(int i =0;i<arr.length;i++){
nums[arr[i]]+=1;
}
int max = -1;
for(int i = 1;i<nums.length;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<s.length()){
if(s.charAt(left)==s.charAt(left-1)){
con++;
max = Math.max(con,max);
}else{
max = Math.max(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<arr.length;i++){
if(arr[i]-arr[i-1]==num){
continue;
}else{
return false;
}
}
return true;
}
}
感谢各位的阅读,以上就是“Java数组、字符和等差数列问题怎么解决”的内容了,经过本文的学习后,相信大家对Java数组、字符和等差数列问题怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。