科大笔试讯飞题目(春招算法工程师)

科大讯飞题目(春招算法工程师)

1、《科大笔试讯飞题目(春招算法工程师)》
就是排序后然后找最低的改成100,直到平均分大于等于X分结束,计算操作次数。

2、《科大笔试讯飞题目(春招算法工程师)》
合并右边小的数 最后是第一个数字 加上严格递增的数组,记录操作数。
AC代码如下,第一题python怎么写都不对,改成java就AC了。

package Leetcode;

import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

class Main1 {
    public static void main(String[] args) throws FileNotFoundException {
        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        ArrayList<Integer> ans = new ArrayList<>();
        for (int i = 0; i < t; i++) {
            int ops = 0;
            int n = in.nextInt();
            int X = in.nextInt();
            ArrayList<Integer> arr = new ArrayList<>();
            for (int k = 0; k < n; k++) {
                arr.add(in.nextInt());
            }
            Collections.sort(arr);
            if (getAvg(arr) >=  X) {
// ans.add(ops);
                System.out.println(ops);
                continue;
            }
            for (int c = 0; c < arr.size(); c++) {
                arr.set(c, 100);
                ops++;
                if (getAvg(arr) >=  X) {
// ans.add(count);
                    System.out.println(ops);
                    break;
                }
            }
        }
        if(ans.size() == 0){
            return;
        }
// for (int i = 0; i < ans.size(); i++) {
// System.out.println(ans.get(i));
// }
    }
    private static double getAvg(ArrayList<Integer> arr) {
        int sum = 0;
        for (int i = 0; i < arr.size(); i++) {
            sum += arr.get(i);
        }
        return sum / (double) arr.size();
    }
}

2、

n = int(input())
arr = list(map(int,input().strip().split(" ")))


def getNums(arr):
    ans = 0
    idx = 1
    flag = True
    while(flag):
        nextLis = [arr[0]]
        ans += 1
        for idx in range(1,len(arr)):
            if arr[idx] > arr[idx-1]:
                nextLis.append(arr[idx])  #记录可以留下来的

        if len(nextLis)==len(arr):
            break
        arr = nextLis
    return ans-1

print(getNums(arr))

《科大笔试讯飞题目(春招算法工程师)》

点赞