千家信息网

2021年快手电商后端面试算法题目有哪些

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本篇内容介绍了"2021年快手电商后端面试算法题目有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2025年01月17日2021年快手电商后端面试算法题目有哪些

本篇内容介绍了"2021年快手电商后端面试算法题目有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

总体节奏

  • 快手每轮面试节奏还是比较快的,可以很快进入下一轮

  • 每一轮都有相对应的算法题目,但都属于基本题目

  • 面对算法题目不要胆怯,提前刷题150道之后,一般不会有问题

一面-最长上升子序列长度

给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,3,7,101,99,100] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。

// 元素之间连续;元素之间不连续,则可以使用dp解答public static void main(String[] args) {    int[] temp = new int[]{10,9,2,3,7,12,99,100};    int max = 0;    for(int x= 0;x < temp.length-1;x++){        int result = 1;        for(int y = x+1;y < temp.length;y++){            if(temp[y] > temp[y-1]){                result++;             }else{                result=0;            }        }        if(result > max){            max = result;        }    }    System.out.println(max);       }

二面-反转链表

要求将链表反转,给出节点的头节点,要求返回反转后的链表.Leetcode题目地址 ListNode结构如下:

class ListNode {    int val;    ListNode next;    ListNode() {    }    ListNode(int val) {        this.val = val;    }    ListNode(int val, ListNode next) {        this.val = val;        this.next = next;    }}

反转代码如下:

// 主要是利用中间变量来实现反转public ListNode reverseList(ListNode head) {    ListNode prev = null;    ListNode curr = head;    while (curr != null) {        ListNode next = curr.next;        // 改变指向        curr.next = prev;        // 这两行,可以当作是向前挪动        prev = curr;        curr = next;    }    return prev;}

三面-出现一次的元素

题目大意: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 leetcode题目地址

最原始的办法

public int singleNumber(int[] nums) {    int res = 0;    Set set = new HashSet<>();    for (int x : nums) {        if (set.contains(x)) {            set.remove(x);        } else {            set.add(x);        }    }    res = set.stream().findFirst().get();    return res;}

位运算

 public int singleNumber(int[] nums) {    int single = 0;    for (int num : nums) {        single ^= num;    }    return single; }

"2021年快手电商后端面试算法题目有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0