科大讯飞笔试题

1.一个M*N棋盘,每个格子上放着一个礼物,只能往下或者往右,到右下角拿到的礼物价值最多是多少。
2.选择排序
3.除去字符串多余的_,比如____ab__d_dss___变为ab_d_dss
4.质因数分解
1.
import java.util.Scanner;

public class text {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] num = scanner.nextLine().split(",");
        int m = Integer.parseInt(num[0]);
        int n = Integer.parseInt(num[1]);
        int[][] grid = new int[m][n];
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                grid[i][j] = scanner.nextInt();
            }
        }


        int[] dp = new int[n + 1];
        dp[0] = 0;
        for(int i = 1; i <= m; i++){
            for(int j =1; j <= n; j++){
                dp[j] = Math.max(dp[j], dp[j - 1]) + grid[i - 1][j - 1];
            }
        }
        System.out.println(dp[n]);
    }
}
2
import java.util.Scanner;

public class text3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        scanner.nextLine();
        String s = scanner.nextLine();
        String[] ss = s.split(",");
        int[] num = new int[m];
        for(int i = 0; i < m; i++){
            num[i] = Integer.parseInt(ss[i]);
        }

        for(int i = 0; i < num.length ; i++){
            int index = i;
            for(int j =  i + 1; j < num.length ; j++){
                if(num[index] > num[j]){
                    index = j;
                }
            }
            if(index != i){
                int temp = num[i];
                num[i] = num[index];
                num[index] = temp;
            }
        }
        for (int i = 0; i < m - 1; i++){
            System.out.print(num[i] + ",");
        }
        System.out.print(num[m - 1]);
    }
}
3.
public class text2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        char[] chars = s.toCharArray();
        int left , right ;
        for (left = 0; chars[left] == '_'; left++);
        for(right = chars.length - 1; chars[right] == '_'; right--);
        StringBuilder str = new StringBuilder();
        for(int i = left; i <= right; i++){
            if(chars[i] != '_'){
                str.append(chars[i]);
            }else{
                while(chars[i + 1] == '_'){
                    i++;
                }
                str.append('_');
            }
        }
        System.out.println(str.toString());
    }
}
4.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class text1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        List<Integer> res = new ArrayList<>();
        int b = num;
        for(int i = 2; i <= b; ){
            if(num % i == 0){
                res.add(i);
                num = num / i;
            }else{
             i++;
            }
        }
        StringBuilder s = new StringBuilder();
        for(int i = 0; i < res.size() - 1; i++){
            s.append(res.get(i)).append("*");
        }
        System.out.println(s.append(res.get(res.size() - 1)));
    }
}



#笔试题目#
全部评论

相关推荐

06-27 15:29
门头沟学院 Java
点赞 评论 收藏
分享
牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务