Facebook面试新题频出,是谁在搞事情?
都说FB爱出原题
但最近去面试的小伙伴向领扣🐱反馈
新题频出,遇到非tag题快成常态
为了帮助大家更快适应这一变化,领扣🐱对FB题库进行了更新,一道近半年来的高频题,分享给大家。
LintCode 641
丢失的间隔
题目描述
给定一个排序整数数组,其中元素的取值范围为[lower,upper] (包括边界),返回其缺少的范围。
扫码免费做题
↓↓↓
样例1:
输入:
nums = [0, 1, 3, 50, 75], lower = 0 and upper = 99
输出:
["2", "4->49", "51->74", "76->99"]
解释:
在区间[0,99]中,缺失的区间有:[2,2],[4,49],[51,74]和[76,99]
样例2:
输入:
nums = [0, 1, 2, 3, 7], lower = 0 and upper = 7
输出:
["4->6"]
解释:
在区间[0,7]中,缺失的区间有:[4,6]
解题思路
源代码
classSolution:
"""
@param: nums: a sorted integer array
@param: lower: An integer
@param: upper: An integer
@return: a list of its missing ranges
"""
defhelper(self, left_point, right_point):
if left_point == right_point:
return str(left_point)
else:
return str(left_point) + "->" + str(right_point)
deffindMissingRanges(self, nums, lower, upper):
# write your code here
ans = []
if len(nums) == 0:
ans.append(self.helper(lower, upper))
return ans
pre_point = lower - 1
for point in nums:
if pre_point != point and pre_point + 1 != point:
ans.append(self.helper(pre_point + 1, point - 1))
pre_point = point
if nums[-1] < upper:
ans.append(self.helper(nums[-1] + 1, upper))
return ans
点击【阅读原文】,查看领扣原题。
阅读原文 关键词
数组
题目
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。