侧边栏壁纸
博主头像
这就是之谦博主等级

我们的征途是星辰大海

  • 累计撰写 182 篇文章
  • 累计创建 3 个标签
  • 累计收到 16 条评论
标签搜索

目 录CONTENT

文章目录

途虎养车一、二、hr面21.9.22

这就是之谦
2021-09-22 / 0 评论 / 2 点赞 / 508 阅读 / 1,260 字
温馨提示:
本文最后更新于 2021-09-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

途虎养车一、二、hr面

一面

1.手撸代码:合并两个有序数组

给定一个有序的整数数组A和有序整数数组B,请将数组B合并到数组A中,变成一个有序的升序数组

注意:

1.可以假设A数组有足够的空间存放B数组的元素,A和B中初试的元素数目分别为m和n,A的数组空间大小为m+n

2.不要返回合并的数组,返回是空的,将数组B的数据合并到A里面就好了

3.A数组在[0,m-1]的范围也是有序的

例1:

A:[4,5,6,0,0,0], m=3

B:[1,2,3], n=3

合并过后A为:

A:[1,2,3,4,5,6]

我的思路:

我一开始的思路是,把A作为模板,循环B,然后把B插入,双重for循环

经过面试官提示:A和B数组本来就是有序的,那样做效率低,重新考虑

然后想到:用两个指针,同时向下找,然后判断当前指针下的A[i],B[j]大小,然后大的放入A中,继续向下找

最后代码实现

package com.lxw.demo;

import java.util.Arrays;

/**
 * 合并两个有序数组
 */
public class Demo08 {

    public static void main(String[] args) {
        int[] a = {4,5,6,0,0,0};
        int m = 3;
        int[] b = {1,2,3};
        int n = 3;
        merge(a,m,b,n);
        System.out.println(Arrays.toString(a));

    }

    public static void merge(int A[], int m, int B[], int n){
        int all = m+n-1;
        int i = m-1;
        int j = n-1;

        while(i>=0&&j>=0){
            if (A[i] < B[i]){
                A[all--] = B[j--];
            }else{
                A[all--] = A[i--];
            }
        }
        while(j>=0){
            A[all--] = B[j--];
        }

    }
}

2.自我介绍

3.深挖项目

4.spring Ioc和AOP

5.spring bean的生命周期

6.ES的倒排索引

7.mysql的聚簇索引

8.事务ACID

9.InnoDB事务隔离级别

10.事务有哪几个隔离级别

11.幻读

二面

深挖项目

后端接口暴露,怎么处理

三面hr

20多年的人生中做过最大(印象最深)的决定(人生选择)

项目中遇到的困难,解决

为什么不考研

将来的规划

2

评论区