📅  最后修改于: 2023-12-03 15:14:15.951000             🧑  作者: Mango
CouponDunia是印度最大的优惠券平台,总部位于孟买。该公司成立于2010年,目前已经成长为印度在线购物市场的领导者之一。CouponDunia的使命是帮助用户在他们的购物中节省钱。
题目描述: 给定一组数字,找到数字中第二大的数字。如果没有第二大的数字,则返回-1。比如,给定数组[2, 3, 6, 6, 5],返回5。
解题思路:
代码实现:
def find_second_largest(arr):
distinct_arr = list(set(arr))
if len(distinct_arr) < 2:
return -1
distinct_arr.sort()
return distinct_arr[-2]
题目描述: 给定一组具有重复元素的数字,找到一个子数组,使得该子数组中的所有元素都是唯一的。比如,给定数组[1, 2, 3, 2, 4, 5, 3, 6],应该返回[4, 5, 3, 6],因为这是该数组中唯一的子数组,其中所有元素都是唯一的。
解题思路:
代码实现:
def find_unique_subarray(arr):
res = []
for i in range(len(arr)):
cur = set()
for j in range(i, len(arr)):
if arr[j] in cur:
if len(res) < len(cur):
res = list(cur)
break
cur.add(arr[j])
else:
if len(res) < len(cur):
res = list(cur)
return res
在这次面试中,我解决了两个算法问题。我感觉自己的解题思路还不错,但是代码实现可能还有一些可以优化的地方。面试官也给了我一些反馈和建议,帮助我改进代码。我很感激这次面试机会,也很欣赏CouponDunia的工作文化和团队氛围。我希望能成为他们团队中的一员,为他们的使命贡献我的力量。