科大讯飞笔试题

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)));
    }
}



#笔试题目#
全部评论

相关推荐

11-02 08:15
已编辑
门头沟学院 Java
美团 Java后端开发 10w刀 美硕
YamadaAnna:包留美的,你拿的美团 招银,没一个不加班的。考虑一下未来吧,应届生的工资真不重要,10w刀税后6w,省省还是能活下去的。回国了35岁怎么办,难道35岁还能返美么,就算35岁还能在国内找到工作,难道打算一辈子9点10点下班么。你有能力在美利坚找到工作,回国如果不是哪个965大厂给你发个ssp,真不值得。 等抽不中h1b,没办法了再回国吧。
点赞 评论 收藏
分享
点赞 2 评论
分享
牛客网
牛客企业服务