BIGOJava开发工程师2021届校招B卷

Posted 爱做梦的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BIGOJava开发工程师2021届校招B卷相关的知识,希望对你有一定的参考价值。

前言

兄弟们都会有心仪的offer!!!!!

一、服务器部署应用程序——典型背包问题

二、泛型实现快排

package bigo;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: 
 * @Email: 
 * @Date: 2020/9/10
 * @Time: 19:44
 * @Version: 1.0
 * @Description: Description
 */

import java.util.Arrays;

public class Second 

    public static <T extends Comparable<? super T>> void quickSort(T[] arr, int startIndex, int endIndex) 
        // 递归结束条件:startIndex大等于endIndex的时候
        if (startIndex >= endIndex) 
            return;
        
        // 得到基准元素位置
        int pivotIndex = partition(arr, startIndex, endIndex);
        // 根据基准元素,分成两部分递归排序
        quickSort(arr, startIndex, pivotIndex - 1);
        quickSort(arr, pivotIndex + 1, endIndex);
    

    /**
     * 分治(双边循环法)
     *
     * @param arr        待交换的数组
     * @param startIndex 起始下标
     * @param endIndex   结束下标
     */
    private static <T extends Comparable<? super T>> int partition(T[] arr, int startIndex, int endIndex) 
        // 取第一个位置的元素作为基准元素(也可以选择随机位置)
        T pivot = arr[startIndex];
        int left = startIndex;
        int right = endIndex;

        while (left != right) 
            //控制right指针比较并左移
            while (left < right && arr[right].compareTo(pivot) <= 0) 
                right--;
            
            //控制left指针比较并右移
            while (left < right && arr[left].compareTo(pivot) > 0) 
                left++;
            
            //交换left和right指向的元素
            if (left < right) 
                T p = arr[left];
                arr[left] = arr[right];
                arr[right] = p;
            
        

        //pivot和指针重合点交换
        arr[startIndex] = arr[left];
        arr[left] = pivot;

        return left;
    


    public static void main(String[] args) 
        Integer[] arr = new Integer[]1, 22, 34, 43, 33;
        quickSort(arr, 0, arr.length - 1);
        Double[] arr1 = new Double[]1.0, 22.0, 34.1, 32.2, 0.7;
        quickSort(arr1, 0, arr.length - 1);
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(arr1));
    


三、字符串镜面反射

package bigo;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: 
 * @Email: 
 * @Date: 2020/9/10
 * @Time: 20:11
 * @Version: 1.0
 * @Description: Description
 */
public class Third 
    public static void main(String[] args) 
        List<String> list = new ArrayList<>();
        list.add("AB");
        list.add("CD");
        System.out.println(new Third().mirror(list));
    

    List<String> mirror(List<String> data) 
        List<String> ans = new ArrayList<>();
        for (int i = 0; i < data.size(); i++) 
            String temp = data.get(i);
            StringBuilder str = new StringBuilder(temp);
            ans.add(temp + str.reverse().toString());
        

        for (int i = data.size() - 1; i >= 0; i--) 
            ans.add(ans.get(i));
        
        return ans;
    


以上是关于BIGOJava开发工程师2021届校招B卷的主要内容,如果未能解决你的问题,请参考以下文章

2022届校招,集成电路(IC/FPGA)方向的你们目前进展如何?

上汽人工智能实验室2021届校招

数据挖掘百度机器学习-数据挖掘-自然语言处理工程师 2023届校招笔试详解

AL2018届校招笔试——自然语言处理

[刘阳Java]_美团点评2018届校招面试总结_Java后台开发转载

JAVA有赞2021校招数据笔试(B卷)——都是牛客原题