您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    拿到腾讯字节快手offer后,他的LeetCode刷题阅历GitHub获1300星
    时间:2020-08-12 21:06 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    拿到腾讯字节快手offer后,他的LeetCode刷题阅历GitHub获1300星

    本文经AI新媒体量子位(群众号ID:QbitAI)授权转载,转载请联络出处。

    明天,你刷LeetCode了吗?

    最近,GitHub上这样一套LeetCode笔记火了。

    一位Java研发工程师分享了一个名为「LeetCode标题分类与面试成绩整理」,一时间取得1300星。

    这篇笔记的作者叫袁广鑫,面试三十多家互联网公司亲历整理,曾拿到字节、腾讯、滴滴offer,目前在快手担任Java工程师。

    LeetCode有哪些标题是由作者钦点,是最最常考的标题呢?

    又有哪些面试成绩,是大厂必问?

    整理三个月,如今还不时更新的「LeetCode笔记和大厂面试成绩整理」,可以说是很全的指南了,赶忙来一睹为快~

    LeetCode哪些标题最常考?

    首先,作者按照本人的刷题阅历,将标题分红了18个类别,每个类别都有一些高频题

    有Hash相关、二叉搜索树相关,静态规划、堆相关……

    作者在接受量子位采访时表示,其中链表操作、数组操作、栈相关、递归、静态规划、树的遍历、这些标题最最常考了。

    那就以其中最最常考标题之一——链表操作为例。

    这一分类下面包括,复制带随机指针的链表、删除链表的倒数第N个节点、反转链表、k个一组翻转链表、两数相加、旋转链表。

    以「两数相加」为例。

    「Solution」部分便是关于这道标题的解答。

    package 链表操作.q2_两数相加; 

     

    /** 

     * 两次遍历 

     * 第一次遍历:两个链表对应每个节点辨别取和,若含有空节点则空节点取0,产生一个新链表。 

     * 第二次遍历:对取完和的新链表遍历,判别以后的val能否大于等于10,大于或等于则其本身-10其next加1,若next为空则新建0节点。 

     */ 

    public class Solution { 

        public ListNode addTwoNumbers(ListNode l1, ListNode l2) { 

            ListNode rs = new ListNode(l1.val + l2.val); 

     

            l1 = l1.next; 

            l2 = l2.next; 

            ListNode temp = rs; 

            while (l1 != null || l2 != null) { 

                int a = 0

                int b = 0

                if (l1 != null) { 

                    a = l1.val; 

                } 

                if (l2 != null) { 

                    b = l2.val; 

                } 

     

                int t = a + b; 

                temp.next = new ListNode(t); 

                temp = temp.next; 

                if (l1 != null) { 

                    l1 = l1.next; 

                } 

                if (l2 != null) { 

                    l2 = l2.next; 

                } 

            } 

     

            temp = rs; 

            while (temp != null) { 

                if (temp.val >= 10) { 

                    temp.val = temp.val - 10

                    if (temp.next == null) { 

                        temp.next = new ListNode(0); 

                    } 

                    temp.next.val = temp.next.val + 1

                } 

                temp = temp.next; 

            } 

     

            return rs; 

        } 

    三万字的面试成绩整理

    这篇「面试成绩整理」共36000+字,包含十个部分,辨别是Zookeeper、Redis、Mysql、JVM、Java基础、Spring、音讯队列、Dubbo、操作系统、计算机网络、数据结构与算法。

    (责任编辑:admin)