9.14 58同城算法笔试3AC python版代码

全是leetcode原题

1.岛屿最大面积

class Solution:
    def getMaxArea(self , data ):
        # write code here
        if not data or not data[0] : return 0
        m = len(data)
        n = len(data[0])
        max_ = 0
        for i in range(m):
            for j in range(n):
                if data[i][j] == 1: max_ = max(max_, self.dfs(data, i, j))
        return max_

    def dfs(self, data, i, j):
        if i < 0 or i >= len(data) or j < 0 or j >= len(data[0]): return 0
        return 1 + self.dfs(data, i+1, j) + self.dfs(data, i-1, j) + self.dfs(data, i, j+1) + self.dfs(data, i, j-1)
  1. 41 缺失的第一个正数

    class Solution:
     def firstMissingPositive(self , nums ):
         # write code here
         n = len(nums)
         for i in range(n):
             while nums[i] > 0 and nums[i] <= n and nums[nums[i]-1] != nums[i]: self.swap(nums, nums[i]-1, i)
         for i in range(n):
             if nums[i] != i+1: return i+1
         return n+1
    
     def swap(self, nums, i, j):
         nums[i], nums[j] = nums[j], nums[i]
  2. 层序遍历二叉树

    from queue import Queue
    class Solution:
     def printNode(self , node ):
         # write code here
         if not node : return []
         q = Queue()
         q.put(node)
         res = []
         while not q.empty():
             size = q.qsize()
             lst = []
             while size > 0:
                 temp = q.get()
                 lst.append(temp.val)
                 size -= 1
                 if temp.left: q.put(temp.left)
                 if temp.right: q.put(temp.right)
             res.append(lst)
         return res
#笔试题目##58集团#
全部评论
后端也是这三个题,是不是人均ak啊
点赞 回复 分享
发布于 2020-09-14 21:37
哭了第一题没在leetcode刷到过
点赞 回复 分享
发布于 2020-09-14 21:38
1.0,0.8,1.0 第二题不知道为啥没AC....
点赞 回复 分享
发布于 2020-09-14 21:43
为啥输入老是写不好
点赞 回复 分享
发布于 2020-09-14 21:50
我只刷过剑指offer,第二题确实是剑指offer原题。。
点赞 回复 分享
发布于 2020-09-14 21:59

相关推荐

有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务