首页 > 学院 > 开发设计 > 正文

top interview questions 2

2019-11-06 07:13:54
字体:
来源:转载
供稿:网友

之前阿里的一个笔试题,能否存在三个点,将数组进行四分操作,O(n)复杂度的,只需利用一个数组加上一个HashMap 来进行缓存即可。 无思路:三板斧,digui,hash,类比, 时刻要有递归与动态规划结合的思想。 有树有图多用递归

124. Binary Tree Maximum Path Sum

思路:依据最高点的想法,更新本身的参数,依次进行迭代处理,注意当节点小与0的时候

73. Set Matrix Zeroes

思路:如果m * n 矩阵中某个元素为0,那么整个行清零,整个列同时也清零。 O(m + n)空间复杂度,遍历了 最优解空间复杂度可以:缩减到O(1),用第一行,第一列进行标记

17. Letter Combinations of a Phone Number

给一串电话号码,输出其中电话号码代表的所有可能的字符串。 思路:1.递归回溯法, 2.迭代版本,生成一个map用来做映射每一个数组,然后对每一个字符进行迭代。

200. Number of Islands

思路:统计出孤立岛的个数,这个有一个很厉害的地方,存在1就至少存在一个岛,然后按照上下左右的方式进行蔓延。递归的方法,当数组越界的时候,或者当前这个结点不是1,就停止蔓延。

103. Binary Tree Zigzag Level Order Traversal

要求:“Z”字形遍历数组,返回一个list。 思路:用递归实现,传入level参数,正常来看是从左向右的,这里面加了一个小的技巧,就是偶数的话,正常从后面加,奇数的话,从前面开始插入,这样就保证了是后序。

49. Group Anagrams

要求:输出同一组的序列,包括颠倒了顺序的。 最优解: 用HashMap对index进行缓存

33. Search in Rotated Sorted Array

注意只包含两个数的数组情况,两个小于等于


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表