zoukankan      html  css  js  c++  java
  • 面试经验01-- 爬虫工程师(字节跳动)

    面试过程比较简短(30min)

    主要是询问基础技能 

    爬取数据的方法,封禁ip,账号的处理等

    接下来是询问项目经历,也会在其中穿插一些基础的知识

    最后一部分就是做一道算法题,不过我也不清楚这个职位为什么要算法题。

    算法题算是中等水平的

    一个链表的部分反转


     

    示例 1:

    输入:head = [1,2,3,4,5], left = 2, right = 4
    输出:[1,4,3,2,5]
    

      


    示例 2:

    输入:head = [5], left = 1, right = 1
    输出:[5]
    

      

    这个在leetcode上有原题可以看一下。

     题解 python版

     1 class Solution:
     2     def reverseBetween(self, head: ListNode, left: int, right: int) -> ListNode:
     3         def reverse_linked_list(head: ListNode):
     4             # 也可以使用递归反转一个链表
     5             pre = None
     6             cur = head
     7             while cur:
     8                 next = cur.next
     9                 cur.next = pre
    10                 pre = cur
    11                 cur = next
    12 
    13         # 因为头节点有可能发生变化,使用虚拟头节点可以避免复杂的分类讨论
    14         dummy_node = ListNode(-1)
    15         dummy_node.next = head
    16         pre = dummy_node
    17         # 第 1 步:从虚拟头节点走 left - 1 步,来到 left 节点的前一个节点
    18         # 建议写在 for 循环里,语义清晰
    19         for _ in range(left - 1):
    20             pre = pre.next
    21 
    22         # 第 2 步:从 pre 再走 right - left + 1 步,来到 right 节点
    23         right_node = pre
    24         for _ in range(right - left + 1):
    25             right_node = right_node.next
    26         # 第 3 步:切断出一个子链表(截取链表)
    27         left_node = pre.next
    28         curr = right_node.next
    29 
    30         # 注意:切断链接
    31         pre.next = None
    32         right_node.next = None
    33 
    34         # 第 4 步:同第 206 题,反转链表的子区间
    35         reverse_linked_list(left_node)
    36         # 第 5 步:接回到原来的链表中
    37         pre.next = right_node
    38         left_node.next = curr
    39         return dummy_node.next
    40 
    认清现实,放弃幻想。 细节决定成败,心态放好,认真学习与工作。
  • 相关阅读:
    Ubuntu包管理命令 dpkg、apt和aptitude
    Linux curses库使用
    VC皮肤库SkinSharp 1.0.6.6的使用
    HOG(方向梯度直方图)
    2014年国外发布的中国内地大学排名18强名单
    sql语句中BEGIN TRAN...COMMIT TRAN
    搜索框中“请输入搜索keyword”
    IOS基于新浪微博开放平台微博APP
    php字符串标点等字符截取不乱吗 封装方法
    谈一谈struts2和springmvc的拦截器
  • 原文地址:https://www.cnblogs.com/jyf2018/p/15210483.html
Copyright © 2011-2022 走看看