首页 > 文章列表 > Java数组、字符和等差数列问题怎么解决

Java数组、字符和等差数列问题怎么解决

java
448 2023-04-25

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;

    }

}