2018年科大讯飞春招笔试编程题

本文主要介绍了2018年科大讯飞春季招聘笔试中的编程题目,包括第二题和第三题的解题思路及代码实现。第三题在特定情况下需使用不同公式计算,作者表示自己的算法能力有待提高,期待更好的解法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

科大讯飞2018春招的笔试编程题中,第一题是判断蚊子是否在蚊帐中,比较简单,这里不做说明,本文将简单讲解第二题和重点说明第三题的解法。

第二题

1.题目
这里写图片描述

2.输入输出及样例
这里写图片描述

3.思路
这题思路很容易想到,最后拿到的工资可以用m * n - wrongNum * x -k * (rightNum - wrongNum)来计算,其中rightNum是指批改正确的份数,wrongNum是指批改错误的份数。但是有一点需要注意的是,当rightNum**小于**wrongNum的时候,不能再用这个公式计算,应该使用m * n - wrongNum * x 来计算。

4.代码实现

import java.util.Scanner;

public class Inter2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String[] inputSs = scanner.nextLine().split(" ");
        int n = Integer.parseInt(inputSs[0]);
        int m = Integer.parseInt(inputSs[1]);
        int x = Integer.parseInt(inputSs[2]);
        int k = Integer.parseInt(inputSs[3]);

        int rightNum = 0;
        int wrongNum = 0;
        String[] inputSs2 = scanner.nextLine().split(" ");
        for(int i = 0; i < inputSs2.length; i ++) {
            if(inputSs2[i].equals("0")) {
                wrongNum ++;
            } else {
                rightNum ++;
            }
        }
        if(rightNum >= wrongNum) {
            System.out.print(m * n - wrongNum * x -k * (rightNum - wrongNum));
        } else {
            System.out.print(m * n - wrongNum * x);
        }

    }

}

第三题

1.题目
这里写图片描述

2.输入输入及样例
这里写图片描述
这里写图片描述

3.思路
这道题思路不是很清晰,最容易想到的方法应该是将测试板上的字符存入二维数组中,对于每个操作分别实现一个变换方法。具体见代码。

4.代码实现
提醒:这个代码是笔试结束才完全写完的,只经过了给出的两个用例的测试,不保证完全正确。

import java.util.Scanner;

public class Inter3 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值